"Escríbeme por una lata de chips un lector de código de barras para Android, solo para escribir los resultados en los archivos y el tiempo que mi hermano necesita".Por interés, revisé las soluciones listas para usar en js y android, y desde entonces. Tengo un teléfono inteligente xiaomi con una aplicación de escáner lista para usar, pensé, ¿por qué no intentar simplemente tomar los resultados del escaneo? Ok, intenté buscar en Google información sobre intenciones o instrucciones listas para usar para obtener datos del escáner, pero fue en vano. Se decidió hacer un reconocimiento del manifiesto de la aplicación en busca de intenciones.Al final, resultó que no para mi hermano, y no era necesario, y en general una lata de papas fritas es cara.
- Busque y recoja el APK del teléfono.
adb shell ~:/pm list packages | grep scanner ~:/pm path com.xiaomi.scanner exit pull /system/priv-app/MiuiScanner/MiuiScanner.apk
- Descompilamos apk usando un servicio en línea .
- Examinando el manifiesto. Encuentra la primera acción que se presente.
AndroidManifest.xml
- Cree un nuevo proyecto de Android y escriba una llamada al escáner.
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
,