Mur*_*vel 7 workspace android widget android-launcher
我开发了 android 小部件应用程序并且它工作正常。现在我的客户问,当用户安装这个应用程序时,它需要自动放置在主屏幕的顶部位置。这该怎么做?请帮我。
小智 9
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
AppWidgetManager mAppWidgetManager = getSystemService(AppWidgetManager.class);
ComponentName myProvider = new ComponentName(AddWidgetActivity.this, AppWidgetSmall.class);
Bundle b = new Bundle();
b.putString("ggg", "ggg");
if (mAppWidgetManager.isRequestPinAppWidgetSupported()) {
Intent pinnedWidgetCallbackIntent = new Intent(AddWidgetActivity.this, AppWidgetSmall.class);
PendingIntent successCallback = PendingIntent.getBroadcast(AddWidgetActivity.this, 0,
pinnedWidgetCallbackIntent, 0);
mAppWidgetManager.requestPinAppWidget(myProvider, b, successCallback);
}
}
Run Code Online (Sandbox Code Playgroud)
Moh*_*bah -2
请参阅http://viralpatel.net/blogs/android-install-uninstall-shortcut-example/:
\n\nAndroid 为我们提供了一个意图类 com.android.launcher.action.INSTALL_SHORTCUT ,可用于将快捷方式添加到主屏幕。在下面的代码片段中,我们创建了一个名为 HelloWorldShortcut 的活动 MainActivity 的快捷方式。
\n\n首先我们需要向 android 清单 xml 添加 INSTALL_SHORTCUT 权限。
\n\n<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />\nRun Code Online (Sandbox Code Playgroud)\n\naddShortcut() 方法在主屏幕上创建一个新的快捷方式。
\n\nprivate void addShortcut() {\n //Adding shortcut for MainActivity \n //on Home screen\n Intent shortcutIntent = new Intent(getApplicationContext(),\n MainActivity.class);\n\n shortcutIntent.setAction(Intent.ACTION_MAIN);\n\n Intent addIntent = new Intent();\n addIntent\n .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);\n addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");\n addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,\n Intent.ShortcutIconResource.fromContext(getApplicationContext(),\n R.drawable.ic_launcher));\n\n addIntent\n .setAction("com.android.launcher.action.INSTALL_SHORTCUT");\n getApplicationContext().sendBroadcast(addIntent);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n请注意我们如何创建保存目标活动的shortcutIntent 对象。该意图对象作为 EXTRA_SHORTCUT_INTENT 添加到另一个意图中。最后我们广播了新的意图。这会添加一个快捷方式,其名称为\nEXTRA_SHORTCUT_NAME,图标由 EXTRA_SHORTCUT_ICON_RESOURCE 定义。\n注意:这里值得注意的一件事是,当您定义从快捷方式调用的 Activity 时,必须定义 android:exported=\xe2\x80\x9dtrue\标签中的 xe2\x80\x9d 属性。
\n\n从主屏幕卸载快捷方式:
\n\n与安装类似,Android 中的卸载或删除快捷方式使用 Intent (UNINSTALL_SHORTCUT) 来执行任务。在以下代码中,我们删除主屏幕上添加的快捷方式。
\n\n我们再次需要权限来执行卸载快捷方式任务。将以下权限添加到 Android 清单 xml。
\n\n<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />\nRun Code Online (Sandbox Code Playgroud)\n\nremoveShortcut() 方法的作用与 addShortcut() 完全相反。除了removeShortcut 调用UNINSTALL_SHORTCUT 意图之外,大多数代码都是类似的。
\n\nprivate void removeShortcut() {\n\n //Deleting shortcut for MainActivity \n //on Home screen\n Intent shortcutIntent = new Intent(getApplicationContext(),\n MainActivity.class);\n shortcutIntent.setAction(Intent.ACTION_MAIN);\n\n Intent addIntent = new Intent();\n addIntent\n .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);\n addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut");\n\n addIntent\n .setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");\n getApplicationContext().sendBroadcast(addIntent);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n你可以在这里尝试这个演示
\n| 归档时间: |
|
| 查看次数: |
7764 次 |
| 最近记录: |