我们正在一款安装在客户车辆上的三星平板电脑上开发一款锁定的“信息亭式”Android应用程序。我们希望能够允许客户编辑他们的wifi设置,而无需让他们访问其他设置应用(例如启动器,帐户等)
我们已经能够启动Wifi设置活动,但它允许用户进入其他区域。
我不确定是否可以创建一个用于连接到wifi的自定义界面,但即使有可能,这似乎很脆弱,而且很多工作都非常简单。
有没有办法解决这个问题?
我将创建一个设备策略控制器应用程序,该应用程序使用Android Enterprise(Android for Work)API在设备上作为设备所有者进行配置。 https://developers.google.com/android/work/dpc/build-dpc
作为设备所有者,您可以将应用程序设置为锁定任务模式,该模式通常用于自助服务终端。 https://developer.android.com/work/cosu.html
然后,您可以设置用户限制: addUserRestriction api user restrictions list 用户限制不包括设置应用程序中的所有内容,但覆盖范围非常好。
然后,我将使用来自Google安装向导欢迎屏幕的NFC或QR代码阅读器进行配置。 https://github.com/googlesamples/android-NfcProvisioning
您可能还想查看已存在的现有开源EMM / MDM实现,例如WSO2。
其他参考: How to enable task locking in Android 5.0 production devices How to make sure there is only one app
你能这样试试吗?
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
Tools_WiFi.setImageResource(R.drawable.tool_wifi_off);
} else {
wifiManager.setWifiEnabled(true);
Tools_WiFi.setImageResource(R.drawable.tool_wifi_on);
}
你可以试试这个:
startActivityForResult(new Intent(Settings.ACTION_WIFI_SETTINGS), 0);
希望它能帮到你。
我还在研究Kiosk Type应用程序,我们必须为Change wifi和Display Settings提供选项所以我们在按钮上使用这些命令点击Wifi和显示设置
btnWifiSetting.setOnClickListener {
startActivityForResult( Intent(android.provider.Settings.ACTION_WIFI_SETTINGS), 0);
}
并用于显示设置
btnDisplay.setOnClickListener {
startActivityForResult(Intent(android.provider.Settings.ACTION_DISPLAY_SETTINGS),0)
}
您还可以在此处查看可用命令的完整列表
https://ourcodeworld.com/articles/read/318/how-to-open-android-settings-programmatically-with-java