我用广播启动activity, 有时会起不起来········大家说说为什么?
------解决方案--------------------
广播执行周期很短!如果当前内存太小,启动Activity等耗时操作就会失败!
所以建议不要直接使用广播启动Activity!
广播接收到消息后,在状态栏弹出消息(Notification)提醒,使用Notification启动Activity!
楼主试试吧!
------解决方案--------------------
------解决方案--------------------
比如广播启动Activity1.class
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
NotificationManager myNoti=(NotificationManager)context.getSystemService(Service.NOTIFICATION_SERVICE);
Notification myNotification=new Notification();
myNotification.icon=R.drawable.icon;
myNotification.tickerText="启动Activity";
Intent myIntent=new Intent(context,Activity1.class);
PendingIntent pi=PendingIntent.getActivity(context, 0, myIntent, 0);
myNotification.setLatestEventInfo(context, "提示","启动Activity", pi);
myNoti.notify();
}
试试吧!
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
原来这样....
------解决方案--------------------
广播时间有限这个说法不标准。
广播接收者的处理不应占有太多cpu时钟。
另外,有的时候activity不能起来,大部分是因为你activity的问题。
你分析oncreate,onstart,及onresume方法中的代码。
最后,还有启动activity时的,一些flag也是很关键的。
------解决方案--------------------
学习了~~~
------解决方案--------------------
android的广播是消息队列的方式,虽然效率上可能会不高,但还不至于启动不了吧。
debug跟踪下你的activity,看看到底问题处在哪里了,只直接收不到onReceive,还是其他原因。