我正在尝试在主屏幕上创建应用程序内部活动的快捷方式。 我设法创建了快捷方式,但是当我点击它时没有任何反应,它说“找不到应用程序” 这是我的代码的样子:
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);
答案 0 :(得分:-1)
Intent构造函数都没有将类名作为参数 - 您必须传递操作。启动活动的常用操作是ACTION_MAIN。
如果您想查看一些示例代码,以便使用快捷方式和意图来执行各种有趣的事情,请查看Shortcut Circus。