Android:是否有一种在主屏幕上创建Web快捷方式的编程方式

tel*_*.io 8 android

您知道在手机用户的主屏幕上是否有以编程方式创建Web快捷方式?

我想做的是:

当手机用户点击我们的Android应用程序中的按钮时,应用程序将把网站快捷方式放到手机用户的主屏幕上.

Mik*_* dg 29

首先,您需要为manifest.xml添加权限

<uses-permission
            android:name="com.android.launcher.permission.INSTALL_SHORTCUT">
</uses-permission>
Run Code Online (Sandbox Code Playgroud)

您需要构建一个查看网页的意图.就像是...

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("http://www.blablaba.com"));
Run Code Online (Sandbox Code Playgroud)

您可以通过创建一个小测试应用程序并执行startActivity(i)来测试它; 这应该打开浏览器.一旦您确认上述意图是正确的,您应该继续下一步.

现在您需要实际安装快捷方式.

    Intent installer = new Intent();
    installer.putExtra("android.intent.extra.shortcut.INTENT", i);
    installer.putExtra("android.intent.extra.shortcut.NAME", "THE NAME OF SHORTCUT TO BE SHOWN");
    installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", I THINK this is a bitmap); //can also be ignored too
    installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    sendBroadcast(installer)
Run Code Online (Sandbox Code Playgroud)

;

也有可能一些主屏幕不接受这个,但大多数人都这样做.好享受吧.

编辑: 图标可以设置为快捷方式使用:

installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(mContext, R.drawable.icon));
Run Code Online (Sandbox Code Playgroud)

  • 不建议使用此技术.这是一个内部实现,不是Android SDK的一部分.它不适用于所有主屏幕实现.它可能不适用于所有以前版本的Android.它可能无法在Android的未来版本中使用,因为Google没有义务维护内部未记录的界面.请不要使用它. (3认同)
  • 这是一个意图,没有任何东西可以接受它,没有任何反应,它与使用任何第三方应用程序相同.有时某些东西可以接收该广播,有时则不能. (2认同)