kju*_*vic 179

你可以打开

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Run Code Online (Sandbox Code Playgroud)

您可以通过按设备上的返回按钮返回.

  • 现在你可以使用 Intent intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS); 开始活动(意图);您可以从中选择每个主要设置类别的大量常量。只写设置。Android Studio 将在自动完成中向您显示所有类别。 (2认同)
  • 我可以在“设置”应用程序中搜索特定设置并从我的应用程序以编程方式打开该特定设置吗?例如,我可以在手机设置中的应用程序中搜索 OTG 吗? (2认同)

fin*_*las 36

我使用了最受好评的答案中的代码:

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
Run Code Online (Sandbox Code Playgroud)

在同一窗口中打开设备设置,从而让我的 android 应用程序(finnmglas/Launcher)的用户停留在那里。

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

startActivity(Intent(Settings.ACTION_SETTINGS))
Run Code Online (Sandbox Code Playgroud)

它适用于我的应用程序,也应该适用于您的应用程序,而不会产生任何不必要的后果。

  • 谢谢朋友,请像这样更新您的代码:startActivity(new Intent(Settings.ACTION_SETTINGS)); (3认同)
  • 这里“设置”的导入是 import android.provider.Settings (3认同)
  • 7年后解决方案出来了。 (2认同)

TMH*_*TMH 33

这样做对我来说

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);
Run Code Online (Sandbox Code Playgroud)

当他们按下它时会回到我的应用程序.

  • @IgorGanapolsky 它会在“设置”中打开基于位置的设置 (2认同)

小智 17

您可以尝试致电:

startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
Run Code Online (Sandbox Code Playgroud)

对于设置屏幕中的其他屏幕,您可以转到

https://developer.android.com/reference/android/provider/Settings.html

希望在这种情况下帮助你.

  • 您需要传递"REQUEST_CODE"作为`startActivityForResult`的第二个参数. (2认同)

tim*_*etz 7

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

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:" + context.packageName)
    startActivity(intent)
Run Code Online (Sandbox Code Playgroud)


GrI*_*sHu 6

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

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);
Run Code Online (Sandbox Code Playgroud)

通常,您使用预定义常量Settings.ACTION__SETTINGS.完整列表可以在这里找到


Sho*_*jan 6

你可以做另一个班来做这种活动.

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);
    }
}
Run Code Online (Sandbox Code Playgroud)


Jor*_*sys 5

要实现这一点,只需使用一个使用常量ACTION_SETTINGSIntent,专门定义为显示系统设置:

startActivity(new Intent(Settings.ACTION_SETTINGS));
Run Code Online (Sandbox Code Playgroud)

只有在关闭设置活动时要返回某些数据时, startActivityForResult()才是可选的.

startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);
Run Code Online (Sandbox Code Playgroud)

在这里,您可以找到显示特定设置或应用程序详细信息的容器列表.