我想在安装我的应用程序后立即在主屏幕上创建应用程序的快捷方式/启动器图标(甚至在我开始之前).那可能吗?我怎么能这样做?
我在开发Android应用程序时出现了这个问题.我想到分享我在开发过程中收集到的知识.
我想为我的用户提供一个选项,可以在应用程序中创建特定页面的快捷方式.当你长按聊天时我在Whatsapp上看到了类似的用法,你可以创建这个特定聊天的桌面快捷方式.
我已经尝试找到有关此功能的一些文档,但无法使其正常工作.这就是我所拥有的:
不是启动器活动的活动(包括意图过滤器)
<activity android:name="com.my.example.pages.Topics"
android:parentActivityName="com.my.example.pages.Apps">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
createShortcut函数
public void createShortcut(){
Intent shortcutIntent = new Intent("com.my.example.pages.Topics");
Intent.ShortcutIconResource iconResource = Intent.ShortcutIconResource.fromContext(getActivity(), R.drawable.app_logo);
// The result we are passing back from this activity
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Test");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
getActivity().setResult(getActivity().RESULT_OK, intent);
getActivity().finish();
Toast.makeText(getActivity(),"Shortcut created",Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
表现
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Run Code Online (Sandbox Code Playgroud)
我可能错过了一些东西,因为在调用函数后我得到了Toasts但是没有创建快捷方式,并且应用程序因为finish()方法而退出.
为了更清楚 - 如何为非启动器活动创建快捷方式?
*我正在我的一个viewpager片段中运行代码.