如何在主屏幕中创建和删除应用程序快捷方式?

时间:2012-06-13 12:35:53

标签: android

我正在创建一个应用程序快捷方式。它工作正常。但我无法删除此快捷方式。如何删除我的应用程序快捷方式在我的主屏幕中包含很多应用程序快捷方式。如何删除..
如果可能,请发送有关如何删除应用程序快捷方式的信息。否则,如果无法发送原因。请回复你的答案,评论对我很有价值。谢谢。
我的示例代码在这里......

    Button btnShortcut = (Button) findViewById(R.id.btnCreateShortcut);
    btnShortcut.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View arg0) 
        {
            Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
            shortcutintent.putExtra("duplicate", false);
            shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
            Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher);
            shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
            shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , MyActivity.class));
            sendBroadcast(shortcutintent);
        }
    });

我的Android Manifest.xml代码在这里......

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

1 个答案:

答案 0 :(得分:1)

你去吧

private void deleteShortCut(Context context) {

    Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
    shortcutIntent.setClassName("com.example.androidapp", "SampleIntent");
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    shortcutIntent.putExtra("someParameter", "HelloWorld");

    Intent removeIntent = new Intent();
    removeIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    removeIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ShortcutName");
    removeIntent.putExtra("duplicate", false);

    removeIntent
            .setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");       
    context.sendBroadcast(removeIntent);
}