Michael
- Forum-Beiträge: 19
27.06.2012, 09:56:44 via Website
27.06.2012 09:56:44 via Website
Hi zusammen,
ich würde gerne eine kleine App schreiben, die mir meine Netzwerkverbindungen protokolliert. D.h. Sobald ein Wechsel z.B. von UMTS nach HSDPA oder nach EDGE usw. geschieht, soll dies protokolliert werden.
Dazu habe ich im Netz schon das ein oder andere Beispiel oder Tutorial gefunden und ausprobiert.
Meine Methode sieht bisher so aus.
Das Problem ist nur das der BroadcastReceiver nur beim Start meiner App angesprochen wird, sobald ein Netzwechsel passiert, bleibt er ruhig.
Was muss ich tun, das mein BroadcastReceiver bei jedem Wechsel aktiv wird ?
Danke für eure Hilfe und Grüße
Spike
ich würde gerne eine kleine App schreiben, die mir meine Netzwerkverbindungen protokolliert. D.h. Sobald ein Wechsel z.B. von UMTS nach HSDPA oder nach EDGE usw. geschieht, soll dies protokolliert werden.
Dazu habe ich im Netz schon das ein oder andere Beispiel oder Tutorial gefunden und ausprobiert.
Meine Methode sieht bisher so aus.
Das Problem ist nur das der BroadcastReceiver nur beim Start meiner App angesprochen wird, sobald ein Netzwechsel passiert, bleibt er ruhig.
1public void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 mContext = this;
5 mNetworkStateChangedFilter = new IntentFilter();
6 mNetworkStateChangedFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
7
8 mNetworkStateIntentReceiver = new BroadcastReceiver() {
9 @Override
10 public void onReceive(Context context, Intent intent) {
11 if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
12 NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
13 mTypeName = info.getTypeName();
14 mSubtypeName = info.getSubtypeName();
15 mAvailable = info.isAvailable();
16 Log.i(LOGTAG, "Network Type: " + mTypeName
17 + ", subtype: " + mSubtypeName
18 + ", available: " + mAvailable);
19 updateScreen();
20 }
21 }
22 };
23 setContentView(R.layout.main);
24
25
26 }
27
28 @Override
29 protected void onResume() {
30 Log.d(LOGTAG, "onResume");
31 super.onResume();
32 if(mNetworkStateIntentReceiver!=null){
33 registerReceiver(mNetworkStateIntentReceiver, mNetworkStateChangedFilter);
34 unregisterReceiver(mNetworkStateIntentReceiver);
35 registerReceiver(mNetworkStateIntentReceiver, mNetworkStateChangedFilter);
36 }
37 }
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 mContext = this;
5 mNetworkStateChangedFilter = new IntentFilter();
6 mNetworkStateChangedFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
7
8 mNetworkStateIntentReceiver = new BroadcastReceiver() {
9 @Override
10 public void onReceive(Context context, Intent intent) {
11 if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
12 NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
13 mTypeName = info.getTypeName();
14 mSubtypeName = info.getSubtypeName();
15 mAvailable = info.isAvailable();
16 Log.i(LOGTAG, "Network Type: " + mTypeName
17 + ", subtype: " + mSubtypeName
18 + ", available: " + mAvailable);
19 updateScreen();
20 }
21 }
22 };
23 setContentView(R.layout.main);
24
25
26 }
27
28 @Override
29 protected void onResume() {
30 Log.d(LOGTAG, "onResume");
31 super.onResume();
32 if(mNetworkStateIntentReceiver!=null){
33 registerReceiver(mNetworkStateIntentReceiver, mNetworkStateChangedFilter);
34 unregisterReceiver(mNetworkStateIntentReceiver);
35 registerReceiver(mNetworkStateIntentReceiver, mNetworkStateChangedFilter);
36 }
37 }
Was muss ich tun, das mein BroadcastReceiver bei jedem Wechsel aktiv wird ?
Danke für eure Hilfe und Grüße
Spike
— geändert am 27.06.2012, 10:02:31
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.