android - 如何以编程方式在 Android Q 中打开设置面板?
问题描述
根据Android Q的新功能,有一个显示关键连接设置的内联设置面板,可让用户修改不同的连接设置,例如飞行模式、wifi、音量、NFC 和互联网连接。
如何从我的应用程序以编程方式打开该设置面板?就像下面的截图一样。
解决方案
使用 Android Q 中可用的设置面板 API,这非常简单且易于实现。
很简单,我们需要使用新的Settings.Panel操作之一来触发意图。
打开 Internet 连接面板:
爪哇:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Intent panelIntent = new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
startActivityForResult(panelIntent, 545)
}
科特林:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
startActivityForResult(panelIntent, 545)
}
打开音量控制面板:
爪哇:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Intent panelIntent = new Intent(Settings.Panel.ACTION_VOLUME)
startActivityForResult(panelIntent, 545)
}
科特林:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val panelIntent = Intent(Settings.Panel.ACTION_VOLUME)
startActivityForResult(panelIntent, 545)
}
打开WIFI面板:
爪哇:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Intent panelIntent = new Intent(Settings.Panel.ACTION_WIFI)
startActivityForResult(panelIntent, 545)
}
科特林:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val panelIntent = Intent(Settings.Panel.ACTION_WIFI)
startActivityForResult(panelIntent, 545)
}
打开 NFC 面板:
爪哇:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Intent panelIntent = new Intent(Settings.Panel.ACTION_NFC)
startActivityForResult(panelIntent, 545)
}
科特林:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val panelIntent = Intent(Settings.Panel.ACTION_NFC)
startActivityForResult(panelIntent, 545)
}
在这里,您可以从 Android 官方文档中查看有关设置面板的更多信息:
1) https://developer.android.com/preview/features#settings-panels
2) https://developer.android.com/reference/android/provider/Settings.Panel
推荐阅读
- google-apps-script - 自动区分大小写查找和替换
- javascript - 有没有办法用相同的“更新功能”下推整个功能?
- node.js - 如何在 WSL 中切换 Node 项目?
- tibco - 在不中断引用的情况下重命名全局变量
- python - 在每行包含一个时间序列的数据框中查找相对和绝对波动的计数
- c# - 将数据从局部视图传递到父视图
- python - 为什么复制不适用于 Python 中的字典?
- python - 如何将列表输入到 tensorflow 中的 feed_dict 中?list的元素有不同的形状
- javascript - 为什么我的 ID 容器在 Document.ready 匿名函数中没有从蓝色变为红色
- python - 在文件名中保存视频文件的时间和日期