Çevrimdışı çevrimdışı gibi bir ağ durumu göstergesi olarak işlev gören bir düğme var. Sorum şu: broadcast receiver
'un genişlediği WifiStatusReceiver
sınıfına sahibim. WifiStatusReceiver
sınıfından bir düğmeyi etkinleştirmek veya devre dışı bırakmak istiyorum. Bunu nasıl yapabilirim ?? i bir düğmeye arka plan ayarlamak çalışırsanızBroadCast onReceive() yönteminden bir düğmeyi nasıl etkinleştirir veya devre dışı bırakırım
public class Wifi extends BroadcastReceiver implements ActionBar.TabListener{
ActionBar actionBar;
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show();
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null
&& activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Toast.makeText(context, "Wifi Connected!", Toast.LENGTH_SHORT).show();
actionBar.setCustomView(R.layout.header);
actionBar.getCustomView().findViewById(R.id.btn_onlinestatus).setBackground(context.getResources().getDrawable(R.drawable.onlinestaticon));
} else {
Toast.makeText(context, "Wifi Not Connected!", Toast.LENGTH_SHORT).show();
actionBar.setCustomView(R.layout.header);
actionBar.getCustomView().findViewById(R.id.btn_onlinestatus).setBackground(context.getResources().getDrawable(R.drawable.offlinestaticon));
}
}
onun "java.lang.RuntimeException belirten bir boş gösterici durum atma: alıcı com.balaji.example.Operations.Wifi başlatılamıyor: java.lang Eğer registerReceiver OnCreate - - .NullPointerException"
harika teşekkürler Raghavendra. –
İhtiyaç kaydınıza bağlı olarak ve Dinamik Braoadcast Alıcısını unRegister. OnResume ve onPause içinde kullanmak daha iyidir. OnDestroy için beklemek alıcıyı dağıtmak için iyi bir alışkanlık değildir çünkü onDestroy her zaman denir. –