以编程方式打开 Android 设置

如何以编程方式打开设置?

193410 次浏览

你可以用

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

您可以按设备上的返回按钮返回。

这就是我想要的

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);

当他们按回去的时候,就会回到我的应用程序。

看看 以编程方式显示设置页

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);

通常,您使用预定义的常量 Settings.ACTION__SETTINGS。完整的列表可以找到 给你

你可以为做这种活动再上一节课。

public class Go {


public void Setting(Context context)
{
Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}

你可以试着打电话:

startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));

对于其他屏幕在设置屏幕,你可以到

Https://developer.android.com/reference/android/provider/settings.html

希望能帮到你。

要实现这一点,只需使用 意图 意图 ,使用常量 一个 href = “ https://developer.android.com/reference/android/Provider/Settings.html”rel = “ noReferrer”> ACTION _ SETTING ,专门定义为显示系统设置:

startActivity(new Intent(Settings.ACTION_SETTINGS));

StartActivityForResult () 是可选的,只有在您希望在设置活动关闭时返回一些数据时才可以这样做。

startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);

这里 您可以找到一个内容列表来显示应用程序的特定设置或细节。

使用此意图在安卓设备的设置应用程序中打开安全性和位置屏幕

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

用定位软件包将用户发送到设置,例如 WRITE _ SETTIES 权限:

startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);

如果有人发现这个问题,并且您想要打开您的特定应用程序的设置:

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:" + context.packageName)
startActivity(intent)

使用警报对话框以编程方式打开 android 位置设置

AlertDialog.Builder alertDialog = new AlertDialog.Builder(YourActivity.this);
alertDialog.setTitle("Enable Location");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
});
alertDialog.show();

我用的是 最受欢迎的答案的代码:

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

它的 在同一窗口中打开设备设置,因此得到了我的 android 应用程序(Finnmglas/发射器)的用户为 android 卡在那里。

答案 2020年及以后(在 Kotlin) :

startActivity(Intent(Settings.ACTION_SETTINGS))

它可以在我的应用程序中工作,也应该可以在你的应用程序中工作而不会产生任何不必要的后果。

以下是 https://developer.android.com/training/permissions/requesting上描述的新 API

private val goToSettingsRequest = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { activityResult ->
// TODO: DEAL WITH THE CALLBACK
}


private fun goToSettings() {
goToSettingsRequest.launch(Intent(Settings.ACTION_SETTINGS))
}