首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有COSU的WSO2 EMM代理不使用近场通信

带有COSU的WSO2 EMM代理不使用近场通信
EN

Stack Overflow用户
提问于 2018-02-14 17:59:30
回答 1查看 243关注 0票数 0

我已经构建了最新版本的wso2 emm android agent (cdmf-agent-android v3.1.30),并在IoT服务器3.1.0的自带设备模式下进行了一些初步测试

当为COSU构建时,它正在等待通过NFC与另一个设备进行配置。但是我想在没有NFC的情况下配置设备。我有什么选择?我能否以编程方式触发自定义配置选项?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 21:53:01

有一些选项可以做到这一点,这取决于您的android版本。

我将从最简单的选项开始。如果你有Android 7+,你可以使用二维码配置,这遵循与NFC配置完全相同的过程。你可以从谷歌看到一些关于this的规范。

第二种选择有点棘手,需要一些自定义的开发人员。首先要让你的设备成为设备所有者(这是COSU模式所需的,请阅读有关设备所有者here的信息)。使用命令:adb shell dpm set-device-owner org.wso2.iot.agent/org.wso2.iot.agent.services.AgentDeviceAdminReceiver

注:只能设置一个设备所有者,要删除设备所有者,必须将设备重置为出厂设置。

完成此操作后,您可以使用adb shell am start -n "org.wso2.iot.agent/org.wso2.iot.agent.activities.SplashActivity"启动您的应用程序。

以上操作将使您的应用程序正确运行,但现在它必须进行身份验证才能与服务器通信。当使用NFC供应时,访问令牌在额外的捆绑包中以'android.app.extra.token‘的形式交付,您可以将此额外的令牌插入到启动意图中,如下所示:adb shell am start -n "org.wso2.iot.agent/org.wso2.iot.agent.activities.SplashActivity" --es android.app.extra.token generated_access_token。您必须编辑SpashActivity类以接受此令牌,并遵循应用程序中内置的常规身份验证流程。

这可能有点晚了,但我希望它仍然是有帮助的!

您可能会喜欢一些额外的信息,这里是所使用的NFC消息的字符串表示,这些是在NFC Provisioning App中设置的规范:

`

代码语言:javascript
复制
#Thu Apr 12 13:42:11 GMT+02:00 2018
android.app.extra.PROVISIONING_LOCAL_TIME=1523533331087
android.app.extra.PROVISIONING_TIME_ZONE=Asia/Colombo
android.app.extra.PROVISIONING_SKIP_ENCRYPTION=true
android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=WPA
android.app.extra.PROVISIONING_WIFI_PASSWORD=PASSWORD
android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION=LOCATION_OF_APK
android.app.extra.PROVISIONING_WIFI_SSID="WIFI_SSID_NAME"
android.app.extra.PROVISIONING_LOCALE=en_US
android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM=E8PtiqUOcqKi5IXeRBF-5Br0zXg
android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE=\#admin extras bundle\n\#Thu Apr 12 13\:42\:11 GMT+02\:00 2018\nandroid.app.extra.token\=GENERATED_ACCESS_TOKEN\n
android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME=org.wso2.iot.agent

`

QR Code表示的示例如下:

`

代码语言:javascript
复制
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "org.wso2.iot.agent/org.wso2.iot.agent.services.AgentDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "CSGeivCEHdJrPT0qy4W67LZSy32Fus7GyUn0jE5o028",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "APK_DOWNLOAD_LOCATION",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME": "org.wso2.iot.agent",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "android.app.extra.token":"GENERATED_ACCESS_TOKEN"
    }
}

`

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48784270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档