您的手机上未安装应用程序 android 点击快捷方式提示未安装程序的解决

最近APP出现一个很奇怪的问题,在Android 4.4.2和android 4.4.3系统上点击应用的快捷方式,打不开应用,而且会提示未安装程序。
确认了应用的MainActivity中设置了android.intent.action.MAIN,添加了INSTALL_SHORTCUT的权限,并且快捷方式的Intent是指向正确的Activity,原因就一直没找到。后来分析了一下在点击快捷方式时的log,发现了这么一句:

W/ActivityManager: Permission Denial: starting Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.**.plug.sdk/****.*****.main.MainActivity bnds=[34,466][170,602] } from ProcessRecord{4271c038 1109:com.miui.home/u0a17} (pid=1109, uid=10017) not exported from uid 10533
10-19 16:35:26.058 1109-1109/? E/Launcher: Launcher does not have the permission to launch Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.**.plug.sdk/****.*****.main.MainActivity bnds=[34,466][170,602] }. Make sure to create a MAIN intent-filter for the corresponding activity or use the exported attribute for this activity.
                                           java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.**.plug.sdk/****.*****.main.MainActivity bnds=[34,466][170,602] } from ProcessRecord{4271c038 1109:com.miui.home/u0a17} (pid=1109, uid=10017) not exported from uid 10533

log的意思是说不能app的进程不能被其他进程(这里指的是com.sec.android.app.launcher,即手机的launcher应用)调用。解决方法就是在MainActivity的属性中添加exported=”true”。

posted @ 2016-10-19 16:40  有点理想的码农  阅读(300)  评论(0编辑  收藏  举报