做了一个可以在桌面生成很多快捷方式的工具。生成的快捷方式是指向 .DerivedActivity这个Activity的。但测试时发现,点击快捷方式并不能启动这个Activity,而是提示应用不存在。
查看log发现:
Launcher does not have the permission to launch Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.zhuming.ShortCuts/.DerivedActivity bnds=[190,316][350,502] }. Make sure to create a MAIN intent-filter for the corresponding activity or use the exported attribute for this activity. tag=HomeShortcutItem(title=shortcut_1 id=280 container=-100 screen=0 cellX=1 cellY=1 spanX=1 spanY=1 dropPos=null) intent=Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.zhuming.ShortCuts/.DerivedActivity bnds=[190,316][350,502] }
启动器没有权限启动这个Activity,解决方法是对Activity加上 MAIN intent-filter。
于是在AndroidManifest.xml中这个Activity里加上:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>