创建一个NFC触发器应用程序,并将其安装在具有NFC功能的设备(除了要使您的应用程序作为设备所有者的设备之外).
以下是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);
}
}
}
对于校验和运行以下命令
cat your_device_owner_app_name.apk | openssl dgst -binary -sha1 | openssl base64 | tr ‘+/’ ‘-_’ | tr -d ‘=’
>将产生的校验和粘贴到NFC触发代码中.
>在设备上编译和运行NFC触发器应用程序.
现在,您可以将您要作为设备所有者的应用程式apk上传到google drive或dropbox.
重新启动新设备或出厂设置,将要将应用程序设置为设备所有者的设备.
重新启动设备,并在第一屏幕上使您的设备包含NFC触发器应用程序,并触摸进行光束传输.
您的应用程序将被下载,并将作为设备所有者进行安装.