我们正在一款三星平板电脑上开发一款锁定的“信息亭式”Android应用程序,该平板电脑安装在客户车辆中。我们希望能够允许客户编辑他们的wifi设置,而无需让他们访问其他设置应用(例如启动器,帐户等)
我们已经能够启动Wifi设置活动,但它允许用户进入其他区域。
我不确定是否可以创建一个用于连接到wifi的自定义界面,但即使有可能,这看起来很脆弱,而且非常简单。
有没有办法解决这个问题?
答案 0 :(得分:1)
我会创建一个设备策略控制器应用程序,使用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
答案 1 :(得分:0)
答案 2 :(得分:0)
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);
}
答案 3 :(得分:0)
您可以尝试以下方法:
startActivityForResult(new Intent(Settings.ACTION_WIFI_SETTINGS), 0);
希望它对您有帮助。
答案 4 :(得分:0)
我也在研究Kiosk Type应用程序,我们必须提供“更改wifi”和“显示设置”选项,因此我们在“按钮单击”中使用了这些命令来进行“ 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