如何使App变成Device Owner
1个回答
展开全部
目前有两种方式来使一个App成为Device Owner:
1、使用NFC方式(适用于Android 5.0及更高版本)
NFC是Near Field Communication(近距离无线通讯技术)。
用NFC传输的方式来使一个App成为Device Owner(设备所有者),我们需要两部手机。是的,略坑爹。
首先,两台设备都要支持NFC并激活了NFC,并且激活了Android Beam功能(在设置里的NFC and payment里)。
第一台设备(Mobile A)是要在其上安装App,并使这个App成为Device Owner的。这个App可以是任意的一个App(我们的例子中是一个叫作Kiosk Mode Demo的App。
第二台设备(Mobile B)是要provision那台Mobile A的(使Mobile A上的App成为Device Owner),算是数据传输方/服务提供方。Mobile B上安装了我们的SetDeviceOwner这个App。
然后,在那个SetDeviceOwner的App里的源码中,比较关键的设置是下面几个:
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
对应要成为Device Owner的App的完整包名,例如:com.enmingx.test
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LOCATION
对应要成为Device Owner的App的下载URL,例如:
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
对应要成为Device Owner的App的checksum(校验码),要计算校验码,可以用adb命令:
cat MY_APP.apk | openssl dgst -binary -sha1 | openssl base64 | tr '+/' '-_' | tr -d '='
EXTRA_PROVISIONING_WIFI_SSID
对应用于下载要成为Device Owner的App的WiFi的名称
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
对应用于下载要成为Device Owner的App的安全类型,比如WPA或WPA2
最后,在那个SetDeviceOwner的App源码里,把这些数据都“打包”到一个NFC Bundle中,用NFC技术来传输到另一台手机。
你应该知道如何使用NFC来进行数据传输吧:
让两个手机足够接近,背靠背,然后会听到清脆的一声“叮”,显示"Touch to beam",然后你轻触作为传输方的那台设备的屏幕,就开始传输了。
为了成功使一台设备上的App成为Device Owner,这台设备必须从来没被配置过(当然更不能被Root过),也不能被设置过Device Owner或Profile Owner。如果已经配置过了,可以恢复出场设置。
2、 使用激活码方式(仅适用于Android 5.0和5.1,不适用于6.0或更高版本),这个因为6.0不适用,所以用处不大。
1、使用NFC方式(适用于Android 5.0及更高版本)
NFC是Near Field Communication(近距离无线通讯技术)。
用NFC传输的方式来使一个App成为Device Owner(设备所有者),我们需要两部手机。是的,略坑爹。
首先,两台设备都要支持NFC并激活了NFC,并且激活了Android Beam功能(在设置里的NFC and payment里)。
第一台设备(Mobile A)是要在其上安装App,并使这个App成为Device Owner的。这个App可以是任意的一个App(我们的例子中是一个叫作Kiosk Mode Demo的App。
第二台设备(Mobile B)是要provision那台Mobile A的(使Mobile A上的App成为Device Owner),算是数据传输方/服务提供方。Mobile B上安装了我们的SetDeviceOwner这个App。
然后,在那个SetDeviceOwner的App里的源码中,比较关键的设置是下面几个:
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
对应要成为Device Owner的App的完整包名,例如:com.enmingx.test
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LOCATION
对应要成为Device Owner的App的下载URL,例如:
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
对应要成为Device Owner的App的checksum(校验码),要计算校验码,可以用adb命令:
cat MY_APP.apk | openssl dgst -binary -sha1 | openssl base64 | tr '+/' '-_' | tr -d '='
EXTRA_PROVISIONING_WIFI_SSID
对应用于下载要成为Device Owner的App的WiFi的名称
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
对应用于下载要成为Device Owner的App的安全类型,比如WPA或WPA2
最后,在那个SetDeviceOwner的App源码里,把这些数据都“打包”到一个NFC Bundle中,用NFC技术来传输到另一台手机。
你应该知道如何使用NFC来进行数据传输吧:
让两个手机足够接近,背靠背,然后会听到清脆的一声“叮”,显示"Touch to beam",然后你轻触作为传输方的那台设备的屏幕,就开始传输了。
为了成功使一台设备上的App成为Device Owner,这台设备必须从来没被配置过(当然更不能被Root过),也不能被设置过Device Owner或Profile Owner。如果已经配置过了,可以恢复出场设置。
2、 使用激活码方式(仅适用于Android 5.0和5.1,不适用于6.0或更高版本),这个因为6.0不适用,所以用处不大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询