【问题标题】:Which intent should open Data Usage screen (from settings)哪个意图应该打开数据使用屏幕(来自设置)
【发布时间】:2023-03-21 11:10:01
【问题描述】:

我希望从意图打开数据使用屏幕。 我已经在 android.provider.Settings 类中搜索了合适的意图。 试过了:

new Intent(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS)
new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS)

这不会导致数据使用。

我很清楚所有有这个问题的链接,但没有一个回应。 How to open System Data Usage Activity in android? Android programming to open Data Usage setting page 等等……

【问题讨论】:

  • 并非“设置”中的所有屏幕都有专用的Intent 操作。这可能是其中之一。

标签: android android-intent android-settings


【解决方案1】:

你可以用这个来实现上面的!!我在 Kitkat 和 lollipop 设备上对此进行了测试,在这两个设备上都可以正常工作

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

【讨论】:

  • 也分享您的许可
  • 在 Android 5 和 8 上运行良好。在 Android 4.1.2 上,转到“数据使用”,但没有启用/禁用数据的选项。但在这个系统上,我们可以用另一种方式来做到这一点......
【解决方案2】:
private static final String SETTINGS_PACKAGE = "com.android.settings";
private static final String SETTINGS_CLASS_DATA_USAGE_SETTINGS = "com.android.settings.Settings$DataUsageSummaryActivity";

try {
            final Intent intent = new Intent(Intent.ACTION_MAIN, null);
            final ComponentName cn = new ComponentName(SETTINGS_PACKAGE, SETTINGS_CLASS_DATA_USAGE_SETTINGS);
            intent.setComponent(cn);
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            Log.v(TAG, "Data settings usage Activity is not present");
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多