如何使App变成Device Owner
2016-12-17
展开全部
目前有两种方式来使一个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,例如:http://www.dropbox.com/xxx
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,例如:http://www.dropbox.com/xxx
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不适用,所以用处不大。
2016-12-17
展开全部
app console命令是Symfony2中的了,这个命令是小编用到的比较多了,用到多问题也不少了,下文我们来整理一些app console问题总结。
本人在使用php app/console -s进入symfony的shell界面时,上下左右键分别变成^[[A^[[B^[[C^[[D这种样子。另外在使用table键补齐时只是把table键变成缩进,使用过程中非常的不方便。
解决思路:
1、baidu直接搜索^[[A^[[B^[[C^[[D,无果。
2、突然想起以前在python环境中也遇到到类似问题,于是搜索多了一个参考条件。”python shell 乱码”
3、在查找python过程中遇到了readline这个东西
4、然后搜索php readline之后,发现php有个readline扩展。
下面是解决方案1:
下载php源码编译安装,编译安装的时候重新安装readline扩展。
cd php-5.5.20/ext/readline
###执行phpize,并开始编译###
phpize
./configure
make && make install
解决方案2:
经测试,MAMP自带的php各个版本均不包含readline模块,所以也可选择brew安装php。
brew install php55
可能存在php版本链接的问题,ln命令链接一下即可解决,不再赘述。
##完
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询