"Escreva para mim pedindo uma lata de chips um leitor de código de barras para android, só para escrever os resultados nos arquivos e na hora que meu irmão precisa."Sem interesse, procurei soluções prontas em js e android, e desde então. Tenho um smartphone xiaomi com um aplicativo de escaneamento pronto, pensei, por que não tentar tirar dele os resultados da varredura? Ok, tentei pesquisar no Google informações sobre intenções ou instruções prontas para obter dados do scanner, mas em vão. Decidiu-se verificar o manifesto do aplicativo para intenções.No final das contas não foi para o meu irmão, e não foi necessário, e em geral uma lata de chips é cara
- Encontre e pegue o APK do telefone.
adb shell ~:/pm list packages | grep scanner ~:/pm path com.xiaomi.scanner exit pull /system/priv-app/MiuiScanner/MiuiScanner.apk - Nós descompilamos o apk usando um serviço online .
- Examinando o manifesto. Encontre a primeira ação que aparecer.
AndroidManifest.xml
- Crie um novo projeto Android e escreva uma chamada 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
,