广播启动activity,有时会起不起来,纠结啊···大侠们帮忙看看··· 我用广播启动activity, 有时会起不起来········大家说说为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 广播执行周期很短!如果当前内存太小,启动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(); }试试吧! 最后一句刚才写错拉!!myNoti.notify(0,myNotification); 谢谢···但是我原来就用这个试了····就是广播启动acticity 有时起不起来 ··,activity启动的时间不一样···广播的时间是有限的··· 导致有些起不起来··· 广播时间有限这个说法不标准。广播接收者的处理不应占有太多cpu时钟。另外,有的时候activity不能起来,大部分是因为你activity的问题。你分析oncreate,onstart,及onresume方法中的代码。最后,还有启动activity时的,一些flag也是很关键的。 android的广播是消息队列的方式,虽然效率上可能会不高,但还不至于启动不了吧。debug跟踪下你的activity,看看到底问题处在哪里了,只直接收不到onReceive,还是其他原因。 大家好 我解决了··主要是activity 的oncreat()方法只会被实例化一次,而onstart()方法会被多次调用, 所以不要在activity中多次去调用业务处理····有多个业务处理时,可以使用service去处理··· 你确定这是说的activity?主要是activity 的oncreat()方法只会被实例化一次,而onstart()方法会被多次调用…… 图片在drawable-800X480和drawable-hdip为什么不一样 如何在android平台下搭建Tomcat本地服务器 请问哪里有开放的流媒体播放的api,最好是rtsp协议的,其他的也可以 android 英语学习游戏开发 怎样提高手机版管理系统性能? layer-list JNI输出中文字 内部类的按钮事件中如何使用内部类的变量 刚学习android, 想做个计算器,很简单的xml部局,也达不到效果.有图,请高手来指点下! Genymotion不能启动 如何实现在单个线程内读写单个SOCKET? android: Json数据解析出错
所以建议不要直接使用广播启动Activity!
广播接收到消息后,在状态栏弹出消息(Notification)提醒,使用Notification启动Activity!
楼主试试吧!
// 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();
}试试吧!
最后一句刚才写错拉!!
myNoti.notify(0,myNotification);
谢谢···但是我原来就用这个试了····就是广播启动acticity 有时起不起来 ··,
activity启动的时间不一样···广播的时间是有限的···
导致有些起不起来···
广播接收者的处理不应占有太多cpu时钟。
另外,有的时候activity不能起来,大部分是因为你activity的问题。
你分析oncreate,onstart,及onresume方法中的代码。
最后,还有启动activity时的,一些flag也是很关键的。
debug跟踪下你的activity,看看到底问题处在哪里了,只直接收不到onReceive,还是其他原因。
有多个业务处理时,可以使用service去处理···
主要是activity 的oncreat()方法只会被实例化一次,而onstart()方法会被多次调用……