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 に答える