我正在开发一个使用位置的应用。
启动应用时,它会验证无线位置是否处于活动状态。如果没有,则会出现一个对话框,其中包含一个按钮,用于启动Intent
,Settings.ACTION_SECURITY_SETTINGS
以显示位置设置。
我想让我的用户完成这项任务,并隐藏不必要的设置,这些设置可能会让他们选择错误的设置并再次获得相同的对话框。
此应用程序不需要GPS精度。在某些情况下,智能手机可能无法找到GPS信号,或者可能需要很长时间才能跟踪位置,从而导致我的应用程序无法及时显示结果,从而使无线网络成为可能。获得位置的更好选择。
以下是我用来测试无线网络的一些代码"处于活动状态并打开设置:
private void checkLocationEnabled() {
String provider = Settings.Secure.getString(getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if (provider == null || !provider.contains("network")) {
// Wireless location not enabled
showDialog();
}
}
private void showDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("No network location. Please, activate this setting in "
+ "Location And Security")
.setCancelable(false)
.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
startActivity(intent);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MainActivity.this.finish();
}
});
Dialog dialog = builder.create();
}
如何过滤Settings.ACTION_SECURITY_SETTINGS
以仅显示无线网络选项并删除 GPS 以及Intent
中的所有剩余选项?< / p>
答案 0 :(得分:1)
如何过滤“Settings.ACTION_SECURITY_SETTINGS”以仅显示“无线网络”选项并移除GPS以及“意图”中的所有剩余选项?
您构建自己的Android版本,支持此功能,并以ROM mod的形式发布。
否则,你不能。
AFAIK,该屏幕甚至不具备隐藏这些功能的能力,更不用说通过Intent
附加功能等将该功能暴露给第三方。此外,由于设置应用程序(设备制造商非常频繁地更改此应用程序)有几十个(如果不是数百个)实现,即使在少数设备上可以实现,也不可能在其余设备上实现。< / p>