2014-09-24 74 views
-2

我使用了获取网络status.I广播接收器时,从另一个类的变量正在使用此代码访问使用广播接收机

public class ConnectionChangeReceiver extends BroadcastReceiver 
{ 

    public Boolean networkStatus=false; 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); 
    NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE); 
    Log.w("Network Status:",""+activeNetInfo); 
    if (activeNetInfo != null) 
    { 
     networkStatus=true; 
     Toast.makeText(context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
    } 
    if(mobNetInfo != null) 
    { 
     networkStatus=true; 
     Toast.makeText(context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); 
    } 
    } 

但是你知道这是另一个类,我要访问networkStatus变量来自主要活动班。我可以怎样做?

+0

制作'static'变量并在'BroadcastReceiver'中访问它....它有什么问题? – 2014-09-24 10:16:36

+0

您可以将其设为公共静态或通过sharedpreferences保存/检索它 – santalu 2014-09-24 10:17:26

回答

1

在主Activity中声明networkStatuspublic static。访问它使用,例如,MainActivity.networkStatus