我想我已经尝试了我在 Internet 上找到的所有解决方案,但没有一个有效 - 没有强制关闭,但桌面上什么也没有出现。
现在,我有这个:
private void createShortcutOnDesktop(Application app) {
Intent shortcutIntent = new Intent();
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, app.getIntentShortcut());
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, app.getName());
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.home_button));
shortcutIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
this.sendBroadcast(shortcutIntent);
finish();
}
app.getIntentShortcut()
:
public Intent getIntentShortcut() {
Intent i = new Intent();
i.setClassName(packageName, name);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
return i;
}
在 AndroidManifest.xml
文件中:
<permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
我错过了什么?谢谢。
最佳答案
已解决。只需更改 list :
这个:
<permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
为此:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
只是一个“用途” ¬¬
关于android - 如何为桌面上的任何应用程序创建快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493518/