[英]TIME_TICK action not calling broadcast receiver
我编写了一个简单的广播接收器,以响应TIME_TICK
动作。
当我在清单文件中添加操作时,它不是在调用已注册的接收者,而是在Java代码中将其注册为接收者时。 我有一个简单的onreceive方法。
public class mybroad extends BroadcastReceiver
{
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Log.v("got", "broadcasted");
Toast.makeText(arg0, "hurray broadcast got", Toast.LENGTH_LONG).show();
}
}
清单文件的接收者标签
<receiver android:name="com.example.chapbasic.mybroad" >
<intent-filter>
<action android:name="android.intent.action.TIME_TICK"></action>
</intent-filter>
</receiver>
当我使用以下代码进行操作时
public class broadact extends Activity
{
IntentFilter ii;
mybroad mb;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mybroad);
ii=new IntentFilter("android.intent.action.TIME_TICK");
mb=new mybroad();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
registerReceiver(mb, ii);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(mb);
}
请更新清单文件注册中未调用它的原因。 谢谢
请仔细阅读说明的文档。
您不能通过清单中声明的组件来接收此消息,只能通过向Context.registerReceiver()
进行显式注册来实现。
这就是为什么在清单文件中无法接收它的原因。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.