大佬教程收集整理的这篇文章主要介绍了Android:在库中注册接收器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
BaseRegister扩展了BroadcastReceiver,它的动作是android.net.conn.CONNECTIVITY_CHANGE和android.net.wifi.WIFI_STATE_CHANGED,它看起来像:@H_801_7@
public class BaseRegister extends BroadcastReceiver { @Override public void onReceive(Context context,Intent intent) { if { Log.d("onReceive","Got it"); // Works context.sendBroadcast(new Intent("some")); else { Log.d("onReceive","Nope"); // Works context.sendBroadcast(new Intent("stuff")); } } }
根据Log的说法,AndroidManifest也很好.以下是BaseActivity的样子:@H_801_7@
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); registerReceiver(applicationControl,new IntentFilter("some")); registerReceiver(applicationControl,new IntentFilter("stuff")); } private BroadcastReceiver applicationControl = new BroadcastReceiver() { @Override public void onReceive(Context context,Intent intent) { if (intent.equals(new Intent("some"))) { some(); } else if (intent.equals(new Intent("stuff"))) { stuff(); } } }; public void some() { /** logging etc **/ } public void stuff() { /** logging etc **/ } }
在项目中,我已经将这个项目添加为库,没问题.并创建了@L_675_1@扩展BaseActivity的Activity.当CONNECTIVITY_CHANGE作为动作时,由Android触发BaseRegister,但没有调用Activity.以下是我的项目的外观:@H_801_7@
public class AnyActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); } @Override public void some() { super@L_888_8@me(); Log.d("abc","abc"); // not working } @Override public void stuff() { super.stuff(); Log.d("abc","abc"); //not working } }
以上是大佬教程为你收集整理的Android:在库中注册接收器全部内容,希望文章能够帮你解决Android:在库中注册接收器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。