如何使用Java以编程方式打开Android设置

本文概述

  • 显示系统设置
  • 访问特定的设置区域
  • 根据需要添加权限
【如何使用Java以编程方式打开Android设置】如果你的应用需要用户在” 设置” 菜单中进行某些更改(例如, 设置默认应用以打开特定类型的文件等), 则可以通过从以下位置开始依次启动Android的” 设置” 菜单来简化此任务:你的应用。
显示系统设置要以编程方式显示” 设置” 页面, 可以将startActivityForResult方法与Intent对象和设置的常量一起使用, 以下示例应打开Android的常规设置菜单:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

将ACTION_SETTINGS常量与startActivityForResult一起使用将显示系统设置。设置提供程序包含全局系统级设备首选项。
访问特定的设置区域以下列表包含所有可访问设置菜单不同区域的常量:
注意:并非所有常量都可在每个Android版本上使用。如果你需要更多信息, 请访问此处的官方文档。
android.provider.Settings的常量
String ACTION_ACCESSIBILITY_SETTINGS活动操作:显示辅助功能模块的设置。
String ACTION_ADD_ACCOUNT活动操作:” 显示添加帐户” 屏幕用于创建新帐户。
String ACTION_AIRPLANE_MODE_SETTINGS活动操作:显示允许进入/退出飞行模式的设置。
String ACTION_APN_SETTINGS活动操作:显示允许配置APN的设置。
String ACTION_APPLICATION_DETAILS_SETTINGS活动操作:显示有关特定应用程序的详细信息屏幕。
String ACTION_APPLICATION_DEVELOPMENT_SETTINGS活动操作:显示设置以允许配置与应用程序开发相关的设置。
String ACTION_APPLICATION_SETTINGS活动操作:显示设置以允许配置与应用程序相关的设置。
String ACTION_BATTERY_SAVER_SETTINGS活动操作:显示电池保护程序设置。
String ACTION_BLUETOOTH_SETTINGS活动操作:显示设置以允许配置蓝牙。
String ACTION_CAPTIONING_SETTINGS活动操作:显示视频字幕的设置。
String ACTION_CAST_SETTINGS活动操作:显示设置以允许配置强制转换端点。
String ACTION_DATA_ROAMING_SETTINGS活动操作:显示用于选择2G / 3G的设置。
String ACTION_DATE_SETTINGS活动操作:显示设置以允许配置日期和时间。
String ACTION_DEVICE_INFO_SETTINGS活动操作:显示常规设备信息设置(序列号, 软件版本, 电话号码等)。
String ACTION_DISPLAY_SETTINGS活动操作:显示设置以允许配置显示。
String ACTION_DREAM_SETTINGS活动操作:显示Daydream设置。
String ACTION_HARD_KEYBOARD_SETTINGS活动操作:显示用于配置硬件键盘的设置。
String ACTION_HOME_SETTINGS活动操作:显示” 主页” 选择设置。
String ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS活动操作:显示屏幕, 用于控制特定应用程序的背景数据限制。
String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS活动操作:显示屏幕以控制哪些应用可以忽略电池优化。
String ACTION_INPUT_METHOD_SETTINGS活动操作:显示设置以配置输入法, 特别是允许用户启用输入法。
String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS活动操作:显示设置以启用/禁用输入法子类型。
String ACTION_INTERNAL_STORAGE_SETTINGS活动操作:显示内部存储的设置。
String ACTION_LOCALE_SETTINGS活动操作:显示设置以允许配置语言环境。
String ACTION_LOCATION_SOURCE_SETTINGS活动操作:显示设置以允许配置当前位置来源。
String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS活动操作:显示用于管理所有应用程序的设置。
String ACTION_MANAGE_APPLICATIONS_SETTINGS活动操作:显示设置以管理已安装的应用程序。
String ACTION_MANAGE_DEFAULT_APPS_SETTINGS活动操作:显示默认应用程序设置。
String ACTION_MANAGE_OVERLAY_PERMISSION活动操作:显示屏幕, 用于控制哪些应用可以在其他应用之上绘制。
String ACTION_MANAGE_WRITE_SETTINGS活动操作:显示屏幕以控制允许哪些应用编写/修改系统设置。
String ACTION_MEMORY_CARD_SETTINGS活动操作:显示存储卡存储设置。
String ACTION_NETWORK_OPERATOR_SETTINGS活动操作:显示用于选择网络运营商的设置。
String ACTION_NFCSHARING_SETTINGS活动操作:显示NFC共享设置。
String ACTION_NFC_PAYMENT_SETTINGS活动操作:显示NFC Tap&Pay设置这显示了允许用户配置Tap&Pay设置的UI。
String ACTION_NFC_SETTINGS活动操作:显示NFC设置。
String ACTION_NOTIFICATION_LISTENER_SETTINGS活动操作:显示通知侦听器设置。
String ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS活动操作:显示” 请勿打扰” 访问设置。
String ACTION_PRINT_SETTINGS活动操作:显示顶层打印设置。
String ACTION_PRIVACY_SETTINGS活动操作:显示设置以允许配置隐私选项。
String ACTION_QUICK_LAUNCH_SETTINGS活动操作:显示设置以允许配置快速启动快捷方式。
String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS活动操作:要求用户允许某个应用忽略电池优化(也就是说, 将其置于ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS显示的应用白名单中)。
String ACTION_SEARCH_SETTINGS活动操作:显示全局搜索设置。
String ACTION_SECURITY_SETTINGS活动操作:显示设置以允许配置安全性和位置隐私。
String ACTION_SETTINGS活动操作:显示系统设置。
String ACTION_SHOW_REGULATORY_INFO活动操作:显示设备的法规信息屏幕。
String ACTION_SOUND_SETTINGS活动操作:显示设置以允许配置声音和音量。
String ACTION_SYNC_SETTINGS活动操作:显示设置以允许配置同步设置。
String ACTION_USAGE_ACCESS_SETTINGS活动操作:显示设置以控制对使用信息的访问。
String ACTION_USER_DICTIONARY_SETTINGS活动操作:显示用于管理用户输入字典的设置。
String ACTION_VOICE_CONTROL_AIRPLANE_MODE活动操作:使用语音命令修改飞行模式设置。
String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE活动操作:使用语音命令修改省电模式设置。
String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE活动操作:修改请勿打扰模式设置。
String ACTION_VOICE_INPUT_SETTINGS活动操作:显示设置以配置输入法, 特别是允许用户启用输入法。
String ACTION_VPN_SETTINGS活动操作:显示允许配置VPN的设置。
String ACTION_VR_LISTENER_SETTINGS活动操作:显示VR侦听器设置。
String ACTION_WEBVIEW_SETTINGS活动操作:允许用户选择当前的Webview实施。
String ACTION_WIFI_IP_SETTINGS活动操作:显示设置以允许配置Wi-Fi的静态IP地址。
String ACTION_WIFI_SETTINGS活动操作:显示设置以允许配置Wi-Fi。
String ACTION_WIRELESS_SETTINGS活动操作:显示设置以允许配置无线控件, 例如Wi-Fi, 蓝牙和移动网络。
String 权威
String EXTRA_ACCOUNT_TYPES额外活动:根据给定帐户类型限制已启动活动中的可用选项。
String EXTRA_AIRPLANE_MODE_ENABLED附加活动:启用或禁用飞行模式。
String EXTRA_AUTHORITIES额外活动:基于给定的权限限制已启动活动中的可用选项。
String EXTRA_BATTERY_SAVER_MODE_ENABLED附加活动:启用或禁用省电模式。
String EXTRA_DO_NOT_DISTURB_MODE_ENABLED附加活动:启用或禁用” 请勿打扰” 模式。
String EXTRA_DO_NOT_DISTURB_MODE_MINUTES额外活动:要启用多少分钟, 请勿打扰模式。
String EXTRA_INPUT_METHOD_ID
String INTENT_CATEGORY_USAGE_ACCESS_CONFIG活动类别:显示与使用权限相关的应用程序设置。
String METADATA_USAGE_ACCESS_REASON元数据密钥:需要使用权限的原因。
例如, 你可以直接打开执行以下命令的设备的” 语言设置” (以更改语言):
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCALE_SETTINGS), 0);

随着新的Android API的引入, 将有更多具有不同常量的可用区域设置, 请在此处阅读android provider设置的官方文档。
根据需要添加权限对于Android设置的某些特殊区域, 你将需要权限。例如, 要打开蓝牙设置, 你需要在应用清单中添加以下蓝牙权限:
< uses-permission android:name="android.permission.BLUETOOTH" /> < uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

然后, 你将能够打开蓝牙设置:
startActivityForResult(new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS), 0);

否则, 你将收到以下异常:
java.lang.SecurityException:权限拒绝:启动Intent {}需要android.permission.BLUETOOTH_ADMIN
编码愉快!

    推荐阅读