当前位置: 首页 > 知识库问答 >
问题:

“设置>连接设备>连接首选项”页面的意图

司空繁
2023-03-14

我想知道AdvancedConnectedDeviceDashboardFragment意图。在API 28上,可以通过以下方式访问此页面:Settings

此片段包含所有高级连接首选项(即,蓝牙,NFC,USB...)

手动交互的日志:

D/SettingsActivity: Switching to fragment com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment
D/SubSettings: Launching fragment com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment

通过SubSet启动它不起作用:

try {
    Intent intent = new Intent();
    intent.setClassName("com.android.settings", "com.android.settings.SubSettings");
    getActivity().startActivity(intent);
} catch (ActivityNotFoundException e) {
    Log.e(LOG_TAG, e.getMessage());
}

因为它没有设置exported=“true”它给了我:

.SecurityException:权限拒绝:从ProcessRecord{75bbdbc 11970:com.acme.application.debug/u0a460}(pid=11970,uid=10460)开始的意图{cmp=com.android.settings/.SubSettings(有额外设置)}未从uid 1000导出

有机会通过父SettingsActive启动它吗?


共有1个答案

支才
2023-03-14

在浏览com.android.settings.设置时,我找到了SettingsActive的名称:

ConnectedDeviceDashboardActivity extends SettingsActivity
AdvancedConnectedDeviceActivity extends SettingsActivity

所以我写了一个简单的包装器方法,它仍然抛出

public void showSettings(@NonNull String activityName) throws ActivityNotFoundException {
    Intent intent = new Intent();
    intent.setClassName("com.android.settings", "com.android.settings.Settings$" + activityName);
    getActivity().startActivity(intent);
}

它可以这样使用:

try {
    showSettings("AdvancedConnectedDeviceActivity");
} catch (ActivityNotFoundException e) {
    Log.e(LOG_TAG, e.getMessage());
}

请参见设置。java用于进一步设置要使用的活动名称。

 类似资料:
  • 连接设备 接口说明 用于连接 扫描出来的蓝牙设备。 参数说明 字段 类型 必须? 说明 device RKBLEDevice 是 蓝牙设备 示例代码 Swift: RokidMobileSDK.binder.connect(device: RKBLEDevice) Objc: [RokidMobileSDK.binder connect:device]; 断开设备 接口说明 用于断开已经连接的

  • 连接蓝牙设备 接口说明 接口需传入蓝牙名称(蓝牙address重启后会变) 参数说明 字段 类型 必须? 说明 name String 是 设备名称 举个大栗子 RokidMobileSDK.binder.connectBT(name, new IBTConnectCallBack() { @Override public void onConnectSucceed(BTDevic

  • 我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。

  • 当使用P2P_STAR时,由于此拓扑使用Wi-Fi热点,设备的最大数量为10个。也就是说,如果您没有路由器。 这让我不禁要问两个问题: 我知道附近的连接使用BLE、蓝牙和Wi-Fi直接连接。我知道蓝牙有一个最大的理论数量~7个设备,这是3-4个真正的连接。我知道Wi-Fi热点最多有10个连接。我知道BLE最多可以容纳20个理论连接(虽然不知道真正连接的数量)。如果BLE(理论上)可以拥有20个连接

  • 关于首选项 首选项是关于您希望 Illustrator 如何工作的选项,包括显示、工具、标尺单位和导出信息。您的首选项存储在名为 “AIPrefs”(Windows) 或 “Adobe Illustrator Prefs”(Mac OS) 的文件中,每次您启动 Illustrator 时它也随之启动。要恢复 Illustrator 的默认设置,您可以删除或重命名首选项文件并重新启动 Illustr

  • 我得到权限拒绝(公钥)。在Windows 7 x64上 我所做的是: 1)也更新了我的git openSSH 2) 使用ssh keygen生成的密钥-t rsa-b 4096-C“myemail@gmailcom" 3) 把它们命名为“hub”,所以我有hub-hub。酒吧。ssh文件夹 4) 运行ssh代理 5) 运行ssh代理sh-c“ssh add”/hub’it said identit