2012-07-17 63 views
-1

我想使用廣播接收機來檢查是否有互聯網或沒有,我沒有得到一個錯誤,但我的應用程序不工作,它不通知有關互聯網的存在..任何人都可以幫幫我 ?這裏是我的代碼...在此先感謝廣播接收機來檢查互聯網連接

package com.example.internetconnection; 
import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.util.Log; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Toast; 
import android.support.v4.app.NavUtils; 

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      // TODO Auto-generated method stub 

       ConnectivityManager connectivityManager =  (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); 
      NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
      if (activeNetInfo != null) 
      { 
       Toast.makeText(context, "Active Network Type : "+ activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
      } 
      if(mobNetInfo != null) 
      { 
       Toast.makeText(context, "Mobile Network Type : "+ mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
      } 
     }    

    }; 
    IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);   
    registerReceiver(networkStateReceiver, filter); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 


} 

Androidmanifest.xml 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.internetconnection" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="15" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
     <receiver android:name="com.example.internetconnection" 
     android:label="NetworkConnection"> 
    <intent-filter> 
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 
    </intent-filter> 
    </receiver> 
</application> 

activity_main.xml 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.internetconnection" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="15" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
     <receiver android:name="com.example.internetconnection" 
     android:label="NetworkConnection"> 
    <intent-filter> 
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 
    </intent-filter> 
    </receiver> 
</application> 

回答

2

您已經動態註冊它,那麼爲什麼要使用接收器標籤的清單。我認爲你搞亂了代碼。

+0

你是對的,後來我意識到我試圖動態和靜態地使用它。我找到了解決方案,我只是在清單中使用接收器,它現在正在工作 – asdfg 2012-08-02 06:46:12

+0

很高興聽到那個人 – 2012-08-02 06:59:28