2013-09-26 11 views
10

Ich verbrachte mehrere Stunden mit der Suche nach der richtigen Absicht zum Starten Datennutzung Aktivität in Android-Einstellungen. Leider habe ich nichts gefunden (im Web und auch hier).Welcher Zweck für Einstellungen - Datennutzung

Ich versuchte auch Reflexion (in einem Fall von privaten Bereich), sondern auch ohne Ergebnis. Ich werde mich für jede Hilfe freuen.

Vielen Dank im Voraus.

+0

starten Sie die Aktivität von Hand. schau in dein logcat. Die Absicht wird protokolliert. voila – njzk2

+0

@ njzk2 ich denke nicht so. Ich habe es bereits getestet und Absicht wird nicht protokolliert. – Sajmon

+0

das ist dann wohl ein fragment? – njzk2

Antwort

-1

Werfen Sie einen Blick auf Android Intents. Sie sprechen über eine ACTION_MANAGE_NETWORK_USAGE Absicht.

+0

Es tut uns leid, aber das wird die Datennutzungsabsicht nicht in den Einstellungen starten, aber danke für die Antwort. – Sajmon

+0

Dies wird eine Eingabeaufforderung für die Absicht mit verschiedenen daraus resultierenden App-Resolvern wie Exchange-Dienste, Google Maps, Gmail, Youtube usw. auslösen. Keine davon sind die Systemeinstellungen, nach denen das OP fragt. gsyskos Antwort scheint zu funktionieren, aber vielleicht nicht konsistent über verschiedene Hersteller hinweg, wie es von CommonsWare gezeigt wurde. – leRobot

0

Wenn Sie sich die Manifestdatei für Android-Einstellungen anschauen und den Abschnitt namens "Einstellungen $ DataUsageSummaryActivity" finden, scheint es nicht so zu sein, dass sie gestartet werden soll. Der Intent-Filter hat nur eine Aktionsmarkierung (MAIN).

In Einstellungen/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> 

Wie Sie in diesem Code sehen können, gibt es keine benutzerdefinierte Aktion Absicht definiert.

+0

Können Sie ein paar Codeschnipsel hinzufügen? Jetzt bin ich etwas verwirrt von deiner Antwort. – Sajmon

+0

Ich habe einen Code hinzugefügt :) – SLee

+0

Und kann ich diese Aktivität von Code aufrufen? – Sajmon

17

Try ...

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

Das ist für mich gearbeitet. Ich habe es über den Link zur Datennutzung im KitKat QuickSettings Quellcode gefunden.

+0

Arbeitete für mich ... Danke. –

+0

Es kann nicht garantiert werden, dass dies für Geräte und Android-Versionen funktioniert. – CommonsWare

+0

@CommonsWare und was ist? Gibt es eine elegante Möglichkeit herauszufinden, ob das oben genannte auf einem bestimmten Gerät funktioniert? –