如何通过程序打开设置?
您可以使用以下方法打开
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
你可以通过在设备上按返回按钮来返回。我使用了来自最受欢迎答案的代码:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
它在同一窗口中打开设备设置,因此导致我的安卓应用程序(finnmglas/Launcher)的用户被卡住了。
2020年及以后的答案(使用Kotlin):
startActivity(Intent(Settings.ACTION_SETTINGS))
它在我的应用程序中有效,应该在你的应用程序中也能正常工作,而不会产生任何不必要的后果。
这对我起了作用。
Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);
当他们按返回键时,它会回到我的应用程序。
您可以尝试拨打:
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
在设置屏幕中,要想进入其他屏幕,您可以前往:
https://developer.android.com/reference/android/provider/Settings.html
希望能对您有所帮助。
startActivityForResult
的第二个参数传递。 - Chintan Rathod如果有人找到这个问题并想要打开您特定应用程序的设置:
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:" + context.packageName)
startActivity(intent)
startActivity(new Intent(Settings.ACTION_SETTINGS));
startActivityForResult()是可选的,只有当您希望在设置活动关闭时返回一些数据时才需要使用它。
startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);
这里,您可以找到一个包含特定设置或应用程序详细信息的内容列表。
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);
}
}
startActivity(new Intent(Settings.ACTION_SECURITY_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))
}