赞
踩
最近开发了一款游戏,内容主要是以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")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。