내 애플리케이션에는 Activity를 확장하고 contentview를 main으로 설정하는 InternetActivity 클래스가 두 가지 있습니다. 브로드 캐스트 리시버를 확장하는 MyClass.브로드 캐스트 리시버에서 SetContentView() 호출하기
main.xml 파일에는 TextView 2 개와 WIFI 및 GPRS 이미지 2 개가 있습니다. 연결 상태가 변경되면 브로드 캐스팅 수신기가 호출되고 활성화 된 내용과 TextView 및 ImageView의 표시 여부를 설정하려는 내용에 따라 호출됩니다. 그러나 이미지 만 표시하고 변경 사항은 표시하지 않습니다. 여기 은 MyClass.java 파일입니다. 내가 어떻게 해??
public class MyClass extends BroadcastReceiver {
private static ImageView wifi_image, gprs_image;
private static TextView wifi_text, gprs_text;
@Override
public void onReceive(Context context, Intent intent) {
Log.i("IntrntActivity", "Broadcast message receivved");
LinearLayout layout = new LinearLayout(context);
LinearLayout.LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
View view = View.inflate(context, R.layout.main, layout);
wifi_image = (ImageView) view.findViewById(R.id.wifi_image);
gprs_image = (ImageView) view.findViewById(R.id.gprs_image);
wifi_text = (TextView) view.findViewById(R.id.wifi_text);
gprs_text = (TextView) view.findViewById(R.id.gprs_text);
wifi_image.setVisibility(View.GONE);
wifi_text.setVisibility(View.GONE);
gprs_image.setVisibility(View.GONE);
gprs_text.setVisibility(View.GONE);
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo WIFI = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo Mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (!WIFI.isConnected() && WIFI.isAvailable()) {
Toast.makeText(context, "WIFI is available but not connected",
Toast.LENGTH_LONG).show();
}
if (cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isAvailable()) {
wifi_image.setVisibility(View.VISIBLE);
wifi_text.setVisibility(View.VISIBLE);
}
if (Mobile.isConnected()) {
gprs_image.setVisibility(View.VISIBLE);
gprs_text.setVisibility(View.VISIBLE);
Log.i("IntrntActivity", "Mobile isConnected");
// Toast.makeText(context,"GPRS is available",
// Toast.LENGTH_LONG).show();
}
if (!Mobile.isConnected()) {
gprs_image.setVisibility(View.GONE);
gprs_text.setVisibility(View.GONE);
Log.i("IntrntActivity", "Mobile is Not Connected");
// Toast.makeText(context,"GPRS is available",
// Toast.LENGTH_LONG).show();
}
}
}
P.S : 그것은 제대로 Mobile.isConnected()
및 !Mobile.isConnected()
에 가서 로그 파일을 보여주는하지만 가시성 내가 제대로보기를 설정하지 않는 changing.Am 그렇지? 이 브로드 캐스트 수신기에서 setContentView (view)를 호출 할 수 있습니까?
lil 비트 투쟁했지만 마침내 그것을 마쳤다. – Harshad
다른 방법이 있나요 .. Receive에서 Receive를 정의 할 필요가 없도록 활동 ///은 전체 앱의 톱 바 이미지 변경 방법을 의미합니다. –