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。

如果您想查看一些使用快捷方式和意图来做各种有趣事情的示例代码,请查看Shortcut Circus

于 2012-04-22T09:38:14.680 回答