Ağa bağlı, bağlantısız vb. Ağ işlemleri için yayın almam gerekir. Bu amaçla bir yayın alıcısı kullanıyorum. Herkes bana ağ olayları için yakalamak için hangi niyet eylemi gerektiğini söyleyebilirim, şu anda internette yaptığım aramaya göre android.net.ConnectivityManager.CONNECTIVITY_ACTION kullanıyorum. İşte Android sdk'deki ağ olayları için kasıtlı eylem
benim yayın alıcısı sınıftır:import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class NetworkStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(
android.net.ConnectivityManager.CONNECTIVITY_ACTION)) {
// do something..
}
}
}
ve ben de ağ durumunu erişmek için izin ekledik:
burada<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ben Bildiri dosyasının
bu sınıf ilan ettiler nasıl<receiver class=".NetworkStateReceiver" android:name=".NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.ConnectivityManager.CONNECTIVITY_ACTION" />
</intent-filter>
</receiver>
Lütfen bana hatalı davranıyorsam doğru niyet eylemini tavsiye edin VEYA başka bir yol varsa ağ olaylarını yakalamak için.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<receiver android:name=".receiver.ConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
:
benim testine göre ben herhangi iznine ihtiyacım yok wlan'ın şimdi yukarı/aşağı mı, yoksa 3g'nin şimdi mi yoksa aşağı mı olduğunu yayınlar. Biraz kafam karıştı, android.net.conn.CONNECTIVITY_CHANGE sonra ne için iyi? –
Yeniden bakarsanız, CONNECTIVITY_CHANGE öğesinin bir izin olmadığını, bir amaç alıcısı kaydettirdiğini görürsünüz (alternatif olarak kodda yapabilirsiniz). – Hamid
Cevap, soruyla aynı görünüyor. Peki neden cevaptan önce çalışmadı? –