Android 实现添加Icon到桌面功能

最近开发了一款游戏,内容主要是以WebView加载H5.最近增加了一个添加游戏到桌面的功能.

    public void addShortcut(final Activity cx, final String name) {
        final Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        ImageUtil.getImageBitmap(mContext, mImageUrl, new SampleProgressObserver<Bitmap>(null) {
            @Override
            public void onNext(Bitmap bitmap) {
                if (bitmap != null) {
                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);
                } else {
                    Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(cx, R.mipmap.ic_launcher);
                    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
                }
                intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
                intent.putExtra("duplicate", false);
                Intent carryIntent = new Intent("android.intent.action.FullScreenWebActivity");
                carryIntent.putExtra("name", name);
                carryIntent.setClassName(cx.getPackageName(), cx.getClass().getName());
                carryIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, carryIntent);
                cx.sendBroadcast(intent);
                Toast.makeText(mContext, "添加成功", Toast.LENGTH_SHORT).show();
            }
        });
    }

这里的桌面图标是使用自定义的ImageUtil类从网络下载的,如果下载到失败的图片,则使用app的Icon作为桌面图标.

注意添加权限:

 <!-- 添加快捷方式 -->
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

如果需要在Activity启动的时候获取一些信息,比如webview需要加载一个url,可以将信息加到carryIntent里面:

  carryIntent.putExtra("url", "http://h5.wan.17k.com/jump/zvero59");

在启动的时候就可以获取到该url了:

String url = this.getIntent().getStringExtra("url")
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值