本文概述
如果你的应用需要用户在”设置”菜单中进行某些更改(例如, 设置默认应用以打开特定类型的文件等), 则可以通过从以下位置开始依次启动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
编码愉快!