11

我想我已经尝试了我在互联网上找到的所有解决方案,但没有一个有效 - 没有强制关闭,但桌面上没有出现任何内容。

现在,我有这个:

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"/>

我错过了什么?谢谢。

4

1 回答 1

15

解决了。只需在清单中更改:

这个:

<permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

对此:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

只是一个“用途” ¬¬

于 2011-07-06T11:53:38.427 回答