1. 程式人生 > >android 點選快捷方式提示未安裝程式的解決

android 點選快捷方式提示未安裝程式的解決

最近APP出現一個很奇怪的問題,在android 4.4.2和android 4.4.3系統上點選應用的快捷方式,打不開應用,而且會提示未安裝程式。

確認了應用的MainActivity中設定了android.intent.action.MAIN,添加了INSTALL_SHORTCUT的許可權,並且快捷方式的Intent是指向正確的Activity,原因就一直沒找到。後來分析了一下在點選快捷方式時的log,發現了這麼一句:

W/ActivityManager(  770): Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.coffee.test/.MainActivity bnds=[14,423][266,738] } from ProcessRecord{4389cfe8 1293:com.sec.android.app.launcher/u0a9} (pid=1293, uid=10009) not exported from uid 10242

log的意思是說不能app的程序不能被其他程序(這裡指的是com.sec.android.app.launcher,即手機的launcher應用)呼叫。解決方法就是在MainActivity的屬性中新增exported="true"。