展会信息港展会大全

Android 3.x无法收到Broadcast小问题
来源:互联网   发布日期:2016-01-13 21:51:28   浏览:1073次  

导读:昨天刚刚收到了第一台Android平板设备Galaxy tab 10.1,第一次全面的在Android 3.x上调试各种代码。第一组程序就遇到了问题,这组APP的工作是通过Broadcast来协作的,当一个APP启动时,它会sendBroadcast......

昨天刚刚收到了第一台Android平板设备Galaxy tab 10.1,第一次全面的在Android 3.x上调试各种代码。

第一组程序就遇到了问题,这组APP的工作是通过Broadcast来协作的,当一个APP启动时,它会sendBroadcast来告诉其他应 用,在Android 2.3.x和之前的版本一直工作正常,到3.1上这些BroadcastReceiver就开始淡定的不行,不论我怎么大声广播都没反应TOT

又是没日没夜的调试,想过了各种的可能,还是不成。最后又是Google这个麻烦的制造者帮我找到了这么一组讨论,问题自然就明了了:从Android 3.1开始,为了安全考虑,任何刚刚安装的程序都不会主动运行,除非用户启动过一次。

讨论中给出的解决方案对我的情况还是不靠谱,毕竟这组应用都没有Launcher Activity,都是在收到特定的Broadcast时才开始工作的。不过知道了问题所在,解决的办法就有了。

for (App a : apps) {

Intent i = new Itent("ACTION_NAME");

i.setComponentName(a.packageName, a.receiverClassName);

sendBroadcast(i);

}

虽然很简单的就能解决我的问题,不过折腾的过程是惨不忍睹的,一直到凌晨2、3点才睡觉。这么重大的一个改变,Google也不写一下,至少要在 javadoc里写清楚吧。我也想知道问题的答案:What is a good Android reference for changes like this?

感觉Galaxy Tab的做工还是挺精良的,手感比iPad 2要来的好。Honeycomb上的Android Market使用起来很不顺手,至今没找到如何给一个应用评分。。。或者说系统整体都不顺手,各种功能不知道从哪里操作。

另外发现我一直都低估了移动设备处理器的能力,一直以为索引动不动就达16G的SD卡中的视频文件会很废时间,所以一直没给播放器加上缩略图的功能。直到亲自尝试过才知道,索引我这张目录结构混乱之极、各种测试视频相当多的SD卡用时都是用ms级的。

赞助本站

人工智能实验室

相关热词: Broadcast

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港