【问题标题】:Changing System.Global Settings. Is it possible? - Android更改 System.Global 设置。可能吗? - 安卓
【发布时间】:2014-03-01 11:25:42
【问题描述】:

我对@9​​87654322@ 有点困惑。根据this 文档(重要行为更改下的第三点),它说在System.GlobalAndroid 4.2 和更高版本中,很少有像打开/关闭飞行模式这样的功能,所以它现在只读,我们不能写它.

除了飞行模式之外,System.Global 中还包含 Bluetooth 开启/关闭功能,这意味着我们不能以编程方式打开/关闭蓝牙,因为它是只读的。

但我的 Nexus 7 中有一些应用程序在 4.4.2 版本上运行,该应用程序可以通过语音命令轻松打开/关闭蓝牙(这样的应用程序是“助手”)

如果System.Global 中的功能是只读的,怎么可能?

非常感谢您对此主题的任何解释。在此先感谢:)

【问题讨论】:

    标签: android root android-bluetooth airplane system-setting


    【解决方案1】:

    从 Android 5.0 开始,可以访问某些设置。

    您可以使用DevicePolicyManager 中的方法setGlobalSetting()

    但是,调用方应用程序必须是设备所有者,这不适用于部署在 Google Play 上的应用程序。

    要部署和激活设备所有者,您必须执行 NFC 数据 在设备处于运行状态时从编程应用程序传输到设备 其未配置状态。此数据传输发送相同的信息 如托管配置中所述的配置意图。

    来源:Android 5.0 APIs

    【讨论】:

      【解决方案2】:

      对于普通应用,系统设置通常是只读的。 “助手”或“设置”应用程序与平台捆绑在一起并具有特殊权限。蓝牙确实公开了通过BluetoothAdapter 类关闭和打开给定“适配器”的能力。

      【讨论】:

      • 特别许可是什么意思?我们可以在我们的应用程序中提供这些权限吗(我指的是没有像你说的那样与平台捆绑的普通应用程序)
      • 如果我们可以使用蓝牙适配器打开/关闭蓝牙,那么为什么在 System.Global 下提到它是只读的。对此有何见解?
      • 与平台捆绑的应用程序(即系统和 OEM 应用程序)可以访问 SDK 之外的 API。这就是电话应用程序、设置应用程序等访问受保护组件的方式。这是Android平台的安全设计。
      • 只是想了解更多 - 我们如何让我们的应用与平台捆绑在一起?
      • 您必须建立自己的平台。当 OEM 创建 Android 平台(即三星、LG、HTC、摩托罗拉等)时,他们会创建包含内核、Android 和预捆绑应用程序的闪存映像。运营商(T-Mobile、AT&T、Verizon、Orange、Virgin Mobile 等)也有机会在设备中包含预捆绑的应用程序。因此,除非您正在创建新设备,否则您无法使用它。
      猜你喜欢
      • 2011-07-22
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多