Yayın android uygulaması kontrol ınternet bağlantısı için alıcı
Merhaba internet bağlantısı kontrol etmek için android yayın alıcısı geliştiriyorum.
Ama sorun benim iki kez alıcı yayın.
İkinci olarak, ağ kullanılabilir adı almak istiyorum. Eğer kullanılamaz ise, yazılı vermeyeceğim.
Bu yayın alıcısı
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable() || mobile.isAvailable()) {
// Do something
Log.d("Netowk Available ", "Flag No 1");
}
}
}
Bu manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.broadcastreceiverforinternetconnection"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name=".NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>
</manifest>
CEVAP
İlk ans: yayın alıcısı iki kez çünkü
Ağ bağlantısı olarak değiştirmek için dinleme için iki <intent-filter>
eklediniz
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
Wifi devlet için de, değiştirmek "<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
"
bu yüzden sadece birini kullanın <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
ilk sorun çözülecektir. (yerine alıcı iki kez bağlantı bir kez aradı değişim) arayın. Daha fazla ayrıntı görmek için: http://stackoverflow.com/a/15546897/1168654
İkinci cevabın: (alıcı ınternet bağlantısı varsa, yalnızca bir kez aramak istediğiniz.)
http://stackoverflow.com/a/15546897/1168654 kodunuzu referans mükemmel. ınternet olduğunda sizi haberdar ediniz
GÜNCELLEME
Eğer sadece mobil internet ile bağlı olup olmadığını kontrol etmek istiyorsanız bu yöntem bağlantınızı kontrol etmek için kullanabilirsiniz.
public boolean isOnline(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
//should check null because in air plan mode it will be null
return (netInfo != null && netInfo.isConnected());
}
nasıl eğer Alıcı android kayıtlı olup ...
Nasıl iPhone SDK üzerinde etkin bir İn...
Nasıl bir hizmet Android üzerinde çalı...
Nasıl Android üzerinde internet erişim...
Nasıl Android uygulaması yapı/sürüm nu...