0

ホーム画面のアプリケーション内でアクティビティへのショートカットを作成しようとしています。なんとかショートカットを作成できましたが、クリックしても何も起こらず、「アプリケーションが見つかりません」と表示されます。コードは次のようになります。

final Intent shortcutIntent = new Intent("com.myapp.action.MyActivity");
ComponentName name = new ComponentName(getPackageName(), ".MyActivity");
shortcutIntent.setComponent(name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "blabla..");

Parcelable iconResource =
Intent.ShortcutIconResource.fromContext(PresetsActivity.this,R.drawable.ic_application_launcher);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconResource);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

sendBroadcast(intent);
4

1 に答える 1

-1

Intentコンストラクターはいずれも、クラス名を引数として取りません。代わりに、アクションを渡す必要があります。アクティビティを起動するための通常のアクションはACTION_MAINです。

ショートカットとインテントを使用してあらゆる種類の楽しいことを行うためのサンプルコードを確認したい場合は、ShortcutCircusを参照してください。

于 2012-04-22T09:38:14.680 に答える