哪个意图应该打开数据使用屏幕(来自设置)
Posted
技术标签:
【中文标题】哪个意图应该打开数据使用屏幕(来自设置)【英文标题】:Which intent should open Data Usage screen (from settings) 【发布时间】:2015-10-20 10:58:22 【问题描述】:我希望从意图打开数据使用屏幕。 我已经在 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
操作。这可能是其中之一。
【参考方案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");
【讨论】:
以上是关于哪个意图应该打开数据使用屏幕(来自设置)的主要内容,如果未能解决你的问题,请参考以下文章