作者infoer (infoer)
看板AndroidDev
标题[问题] service内使用notification问题
时间Sat Jul 2 13:38:11 2011
大家好,我想请问
我写了一个sendBroadcast在service的thread内
大致是这样
Intent alert = new Intent(NO_TI);
sendBroadcast(alert);
Log.d("send","ok");
关於broadcastReceiver也是写在service内
broadcastReceiver里面我写了notification
执行之後在手机上这个版本是可以跑的
(也就是NOTIFICATION会跳出来,Log.d("send","ok")也会有)
但是如果改成
for(int i=0; i<=1000000; i++){
String j = Integer.toString(i);
Log.d("printJ",j);
}
Intent alert = new Intent(NO_TI)
sendBroadcast(alert);
Log.d("send","ok");
这样执行不仅notification出不来,连send,ok的log也出不来
但是i如果够小例如
for(int i=0; i<=50; i++){...}
这样就又可以了
请问这样有可能是什麽问题呢??
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.74.107
1F:推 milochen:PrintJ 的 Log 应该有出来吧 ? 不晓得是不是卡在回圈呐? 07/02 18:21
2F:推 tomap41017:Service会有时间限制喔!!可能ANR了 07/02 20:22
3F:→ tomap41017:要知道Service还是在UIThread run的 07/02 20:22
4F:→ tomap41017:除非使用IntentService 07/02 20:22
5F:→ infoer:to milochen:PrintJ是有印出来,但是印完回圈跑完就没了.. 07/03 10:24
6F:→ infoer:to tomap41017:可是这时候我的service不是还在run吗?? 07/03 10:25
8F:→ infoer:这边有说到 triggers ANR 可是那时候我还没有SEND出去 07/03 10:27
9F:→ infoer:应该不算十秒内还没做完吧?? 还是我理解错误了?? 谢谢!! 07/03 10:28
10F:推 milochen:所以你的意思是指PrintJ上可以看到印出 1000000 07/03 23:13
11F:推 milochen:但後来就什麽Log也看不到了,对吗 ? 07/03 23:14
12F:推 milochen:如果是这样子的话,或许有机会是因为超过Logcat的极限 07/03 23:16
13F:推 milochen:或许可以改成这样子 ... 看看能不能看到send ok的log 07/03 23:16
14F:推 milochen:for(int i=0; i<=1000000; i++){ 07/03 23:16
15F:推 milochen: if(i % 100000 == 0) { 07/03 23:16
16F:推 milochen: String j = Integer.toString(i); 07/03 23:17
17F:推 milochen: Log.d("printJ",j); 07/03 23:17
18F:推 milochen: } 07/03 23:17
19F:推 milochen:} 07/03 23:17
20F:→ infoer:谢谢m大的回应 我改成for(int i=1;i<=任意;i++){...} 07/04 11:46
21F:→ infoer:这样printJ都可以印出来,但是我下面的sendbroadcast却坏了 07/04 11:47
22F:→ infoer:notification出不来,但如果改成i<=30000以下 却可以出来 07/04 11:48
23F:→ infoer:请问回圈里的i为什麽会把我的broadcast搞坏阿?? 谢谢指教!! 07/04 11:49
24F:推 milochen:我没有这样子写过,不过真的太神奇了。你有现成sample吗 07/04 13:23