个性化阅读
专注于IT技术分析

如何使用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

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何使用Java以编程方式打开Android设置

评论 抢沙发

评论前必须登录!