Android onReceive方法没有';我没接到电话
还有一节课Android onReceive方法没有';我没接到电话,android,broadcastreceiver,Android,Broadcastreceiver,还有一节课 public class BroadcastTest extends Activity { BroadcastReceiver receiver; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView
public class BroadcastTest extends Activity {
BroadcastReceiver receiver;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try{
receiver=new Receiver(this);
registerReceiver(receiver,new IntentFilter(Intent.ACTION_CALL_BUTTON));
}catch(Exception e){
Log.d("error",e.getMessage());
}
}
}
当我按下call按钮时,是否应该调用receiver类的onReceive方法?如果是,则它没有得到调用。我在这里做错了什么。当按下call按钮时,我在logcat中没有看到任何东西。提前感谢这描述了AlarmManager和BroadcastReceiver的一些常见陷阱。例子包括!希望有帮助
编辑:
一些常见的陷阱:
public class Receiver extends BroadcastReceiver{
public Receiver(BroadcastTest broadcastTest) {
// TODO Auto-generated constructor stub
}
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Log.d("Fired","Hi");
}
}
requestCode
——即使它是一个随机数!如果没有你的“onReceive”代码,永远不会被呼叫在堆栈溢出的情况下,不赞成简单地将链接放在自己的博客帖子上就有可能出现重复。为什么不在这里扩展您的答案来描述这些陷阱,而不是强迫每个人都访问您的网站?因为我必须在这里写相同的内容..->这是更好的解决方案吗?是的,这更好,因为现在有人d这个问题可以在这里阅读你的答案,而不必转到另一个网站。此外,如果你的网站在将来某个时候移动、更改链接位置或宕机,会发生什么情况?可以派人到你的网站获取补充信息,只要你在这里提供你的问题答案的主体。这对我来说是有效的简而言之,
.AlarmManagerBroadCastreceRiver
我已经将完整路径放在rss.univ.alarmManager.AlarmManagerBroadCastreceRiver
aa上,链接刚刚断开…(这就是为什么在这里包含一些内容是个好主意)。
<receiver android:name="net.fusonic.testapp.receivers.TestAlarmReceiver"></receiver>