Home » Android » android – Which intent should open Data Usage screen (from settings)

android – Which intent should open Data Usage screen (from settings)

Posted by: admin June 15, 2020 Leave a comment

Questions:

I wish to open the Data Usage screen from an intent.
I’ve searched the android.provider.Settings class for an appropriate intent.
Tried :

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

Which doesn’t lead to the the data usage.

enter image description here

I’m well aware of all the links which has this question, but none has a response.
How to open System Data Usage Activity in android?
Android programming to open Data Usage setting page
etc…

How to&Answers:

You can use this to achieve the above !! I tested this on Kitkat and lollipop devices , On both of them its working

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

Answer:

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");
        }