0

インストール後にショートカットを自動的に作成するにはどうすればよいですか?以下のコードは機能しません!

 private void createShortCut() {
     Intent intent = new Intent(ACTION_INSTALL_SHORTCUT);
     intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
     intent.putExtra("duplicate", false); 
     Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon);
     intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);//icon
     intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , MainActivity.class));

     setResult(RESULT_OK, intent);
     sendBroadcast(intent);
 }
4

2 に答える 2

2

インストール後にコードが自動的に実行されることはないため、インストール後にショートカットを自動的に作成することはできません。

于 2012-04-12T13:12:11.710 に答える
0

はい、あなたのアプリでもサードパーティのアプリでもシステムアプリでも、ショートカットを作成することは非常に可能です。このサンプルコードに従ってください。

  try
        {
            for (int i = 0; i < packageNameArray.length; i++)
            {
                Intent shortcutIntent = Util.makeIntent(MyPreference.getAction(context), MyPreference.getCategory(context), packageNameArray[i], ActivityNameArray[i]);
                Bitmap shortcutIcon2 = Util.confleteBitmap((UtilityClass.StringToBitMap(IconArray[i])), BitmapFactory.decodeResource(context.getResources(), R.drawable.shortcut_mark));
                data.putExtra("android.intent.extra.shortcut.INTENT", shortcutIntent);
                data.putExtra("android.intent.extra.shortcut.ICON", shortcutIcon2);
                data.putExtra("android.intent.extra.shortcut.NAME", AppNameArray[i]);
                //uninstalling shortcut to remove duplicacy
                Intent intent = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
                intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
                intent.putExtra("duplicate", false);
                intent.putExtras(data);
                context.sendBroadcast(intent);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

ここでpackagenamearrayは、ショートカットを作成するために選択したすべてのアプリです。アプリのショートカットのみを作成する場合は、アプリのパッケージ名をここ に渡します。 activitynamearrayは、選択したアプリのアクティビティ名です。

于 2016-07-20T05:53:37.660 に答える