【问题标题】:Which Intent for Settings - Data usage设置的意图 - 数据使用
【发布时间】:2013-09-26 08:13:16
【问题描述】:

我花了几个小时在 Android 设置中搜索正确的 Intent 以启动 数据使用活动。不幸的是,我什么也没找到(在网上和这里)。

我也尝试了反射(在私有字段的情况下),但也没有结果。我会很高兴得到任何帮助。

提前致谢。

【问题讨论】:

  • 手动开始活动。看看你的logcat。意图被记录。瞧
  • @njzk2 我不这么认为。我已经对其进行了测试,并且没有记录意图。
  • 那应该是个片段吧?
  • @njzk2 任何内容都已记录,因此我无法使用您的方法。

标签: android android-intent


【解决方案1】:

试试……

Intent intent = new Intent();
intent.setComponent(new ComponentName(
            "com.android.settings",
            "com.android.settings.Settings$DataUsageSummaryActivity"));
startActivity(intent);

这对我有用。我是从 KitKat QuickSettings 源代码中的数据使用链接中找到的。

【讨论】:

  • 为我工作...谢谢。
  • 无法保证这将适用于所有设备和 Android 版本。
  • @CommonsWare 是什么?有没有一种优雅的方法可以确定上述方法是否适用于特定设备?
  • @JohnSmith:“那是什么?” -- 没有Intent 操作可驱动到此屏幕。 “有没有一种优雅的方法来确定上述内容是否适用于特定设备?” ——嗯,这取决于你对“作品”的定义。您可以查看Intent 是否会通过PackageManager 和resolveActivity() 解析,或者只是捕获ActivityNotFoundException。但是,Intent 可以解决并不是不可能的,但是制造商只是在设置方面简单地废话。 可能不会发生。
  • 谢谢。我已经通过捕获异常解决了这个问题,然后转到下一个可用的最佳选项 ACTION_SETTINGS。
【解决方案2】:

如果您查看 Android 设置清单文件并找到名为“Settings$DataUsageSummaryActivity”的活动部分,它似乎没有被启动的意图。它的意图过滤器只有一个动作标签(MAIN)。

在 Settings/AndroidManifest.xml 中,

<activity android:name="Settings$DataUsageSummaryActivity"
...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="com.android.settings.SHORTCUT" />
    </intent-filter>
...
</activity>

正如您在这段代码中看到的,这里没有定义自定义操作意图。

【讨论】:

  • 你能添加一些sn-p的代码吗?现在我对你的回复有点困惑。
  • 我认为这是不可能的,因为它没有提供任何额外的操作意图。也许您可以使用其类名开始活动,但我不确定这是否允许。为了您的信息,您可以在此处检查设置常量:developer.android.com/reference/android/provider/Settings.html
  • 我无法从这些常量中找到数据使用摘要设置,但至少您可以启动一个接近数据使用摘要的设置活动。我希望这会有所帮助。
【解决方案3】:

看看Android Intents。他们正在谈论ACTION_MANAGE_NETWORK_USAGE Intent。

【讨论】:

  • 抱歉,这不会在“设置”中启动数据使用意图,但感谢您的回答。
  • 这将启动意图提示,以及各种生成的应用程序解析器,例如 Exchange 服务、地图、Gmail、Youtube……它们都不是 OP 要求的系统首选项。 gsysko 的答案似乎有效,但正如 CommonsWare 所指出的那样,不同制造商之间可能不一致
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多