Device Owner en Android 5.0 (y otros) sin dispositivos enraizados, aprovisionamiento de dispositivos por NFC

Necesito saber cómo configurar mi aplicación como propietario de dispositivo en Android 5.0, 4.4 y 4.3 (?). Todavía he probado el método para dispositivos con raíz ( descrito en allí ), con éxito. Vi que funciona muy bien en android 5.0 y 4.4.2 emulador y en CyanoGen AOSP 4.4.4 (todos los dispositivos con raíces). Pero debo tener que probar esto en otros dispositivos no arraigados, en Android 5.0 Developer API puede leer esto

"Para implementar y activar un propietario de dispositivo, debe realizar una transferencia de datos NFC desde una aplicación de programación al dispositivo mientras el dispositivo está en su estado no provisto."

Pero no entiendo lo que significa, o mejor, lo que tengo que hacer. ¿Puede alguien ayudarme, o explicarme el paso a hacer?

PD. Sé lo que es NFC y cómo funciona, pero no puedo entender cómo utilizarlo para este problema.

2 Solutions collect form web for “Device Owner en Android 5.0 (y otros) sin dispositivos enraizados, aprovisionamiento de dispositivos por NFC”

Cree una aplicación de desencadenador NFC e instálela en un dispositivo (distinto de aquel en el que desea que su aplicación sea el propietario del dispositivo) con NFC.

A continuación se muestra el código para el disparador NFC

public class MainActivity extends Activity implements CreateNdefMessageCallback { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); nfcAdapter.setNdefPushMessageCallback(this, this); } @Override public NdefMessage createNdefMessage(NfcEvent event) { try { Properties p = new Properties(); p.setProperty( DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, "apk package name"); p.setProperty( DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION, "app download url"); p.setProperty( DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM, "apk checksum"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); OutputStream out = new ObjectOutputStream(bos); p.store(out, ""); final byte[] bytes = bos.toByteArray(); NdefMessage msg = new NdefMessage(NdefRecord.createMime( DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC, bytes)); return msg; } catch (Exception e) { throw new RuntimeException(e); } } } 

Para la comprobación de suceso, siga el comando siguiente

Cat your_device_owner_app_name.apk | Openssl dgst -binary -sha1 | Openssl base64 | Buscando palabras que terminan con tr Tr -d '='

  • Pegue la suma de comprobación generada en el código de activación NFC.
  • Compile y ejecute la aplicación de disparo NFC en el dispositivo.

Ahora cargue su aplicación apk que desea realizar como propietario de dispositivo en Google Drive o Dropbox.

Tome un dispositivo nuevo o restablezca de fábrica el dispositivo en el que desea configurar la aplicación como propietario del dispositivo.

Reinicie el dispositivo y en la primera pantalla, traiga su dispositivo que contenga la aplicación de disparo NFC y toque para transferencia de haz.

Su aplicación se descargará y se instalará como propietario del dispositivo.

Si es necesario, también es posible establecer un propietario de dispositivo con adb como se menciona aquí: http://sdgsystems.com/blog/implementing-kiosk-mode-android-part-3-android-lollipop

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.