"Ecrivez-moi pour une boîte de puces un lecteur de code-barres pour Android, juste pour écrire les résultats dans les fichiers et l'heure dont mon frère a besoin."Par intérêt, j'ai parcouru des solutions prêtes à l'emploi dans js et android, et depuis. J'ai un smartphone xiaomi avec une application de numérisation prête à l'emploi, j'ai pensé, pourquoi ne pas essayer de prendre simplement les résultats de l'analyse? Ok, j'ai essayé de google info sur les intentions ou les instructions prêtes à l'emploi pour obtenir des données du scanner, mais en vain. Il a été décidé de reconnaître le manifeste de l'application pour des intentions.En fin de compte, cela s'est avéré pas à mon frère, et ce n'était pas nécessaire, et en général une boîte de chips coûte cher
- Recherchez et récupérez l'APK sur le téléphone.
adb shell ~:/pm list packages | grep scanner ~:/pm path com.xiaomi.scanner exit pull /system/priv-app/MiuiScanner/MiuiScanner.apk
- Nous décompilons apk en utilisant un service en ligne .
- Examen du manifeste. Trouvez la première action qui se présente.
AndroidManifest.xml
- Créez un nouveau projet Android et rédigez un appel de scanner.
val intent = Intent("miui.intent.action.scanbarcode") startActivityForResult(intent, 1);
- , … , , ? , . .
ScanActivity.java
.
- , EXTRA_INTENT_IS_BACKTO_THIRDAPP isBackToThirdApp.
AppUtils.java
- .
val intent = Intent("miui.intent.action.scanbarcode") intent.putExtra("isBackToThirdApp",true) startActivityForResult(intent, 1);
- .
super.onActivityResult(requestCode, resultCode, data) if (resultCode==Activity.RESULT_OK){ result.setText(data?.extras?.getString("result")) }
- .
- , Xiaomi
,