我有2项活动:
1.MainActicity
2.SecondActivity
我希望创建第二个活动的主屏幕快捷方式:
Intent shortcutIntent = new Intent(getApplicationContext(), SecondActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"HelloWorldShortcut");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(),R.drawable.ic_launcher));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(addIntent);
当我点击快捷方式时,它什么也没做,我从我的启动器“无法访问应用程序”中获得了祝酒。 但是当我补充说:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
对于我的第二个活动,它只是我希望它的工作方式,但现在我的应用程序中有2个启动器图标。
我希望我能在第二次活动中使用一个启动器应用程序和主屏幕快捷方式。
答案 0 :(得分:1)
这正是它的工作原理。您无法添加无法启动的actvity快捷方式,因为它根本没有任何意义。并允许用户手动启动该活动,intent-filter
是强制性的。
答案 1 :(得分:0)
尝试将LAUNCHER
删除为类别(替换为DEFAULT
)。那是什么把它粘在app抽屉里。