如何获取BroadcastReceiver for Action:我的Android应用程序中的android.intent.action.MAIN和android.intent.category.HOME

每一个人

当我按下主键时,我可以为此意图获取BroadcastReceiver:

       Starting activity: Intent { act=android.intent.action.MAIN   cat=   [android.intent.category.HOME] flg=0x10200000 cmp=com.htc.launcher/.Launcher }

我不想考虑com.htc.luncher,因为它对于其他Android设备我们会有所不同.

在这里,我是BroadcastReceiver的简单类:

 public class HomeBrodcast extends BroadcastReceiver{

 @Override
 public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();


 }

}

在清单中:

  <receiver android:name="xxx.yyy.zzz.sss.HomeBrodcast">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <categary android:name="android.intent.category.HOME"/>
        </intent-filter>
    </receiver>

对于我的活动中的Register BroadcastReceiver:

          mHomeBrodcast=new HomeBrodcast();
      IntentFilter mHomeFilter=new IntentFilter("android.intent.action.MAIN");
      mHomeFilter.addCategory("android.intent.category.HOME");
      registerReceiver(mHomeBrodcast, mHomeFilter);

现在问题是什么时候启动我的应用程序后我按下主页按钮按下我的日志显示我这个意图:

  12-27 14:01:11.230: I/ActivityManager(123): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.htc.launcher/.Launcher }

所以我的目标是获得接收者的意图,但当我调试我没有得到任何东西一些事情必须我错了.获得这个意图BroadCast应该是什么问题.

最佳答案 清单中的拼写类别应该有帮助:)

点赞