仿微信公众号发送到桌面快捷方式

来源:互联网 发布:ug编程模具 编辑:程序博客网 时间:2024/05/16 08:26

最近需要做一个仿微信公众号发送到桌面快捷方式的功能,一直在找资料,做到一定阶段时顺便记录下,如写的不好的地方请各位大大指点。

微信公众号一直有这么一个功能——>将该公众号添加到桌面,然后点击快捷方式直接进入该公众号,

经过测试发现它点击该快捷方式直接进入该公众号,其他的activtiy都将被销毁掉,比如可以这样测试,首先将公众号发送到桌面,然后再进入另外一个公众号,然后点击主页,再点击桌面上创建的快捷方式进入公众号,你会发现只有打开了默认的这个公众号的页面,(PS:一般正常情况下,是会启动两个应用的,你关闭一个还会出现第二个)。

说到这里肯定有人会猜想是不是activtiy的启动模式有关,没错,我刚开始也是这么想的,所以测试发现,activity的四种启动模式都达不到我要的需求(http://blog.csdn.net/shinay/article/details/7898492),最后找到一个资料http://blog.csdn.net/lincyang/article/details/6893852,看完就猜想应该是快捷方式创建的问题,最后附上创建快捷方式的代码

// 安装的IntentIntent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");// 快捷名称shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, tName);// 快捷图标是否允许重复shortcut.putExtra("duplicate", false);Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);shortcutIntent.putExtra("参数名", "参数值");//可以不传shortcutIntent.setClassName(getPackageName(), "您应用的入口activtiy的路径");shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);// 快捷图标  TODO 图标处理   将网络图片下载并创建快捷方式图标Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_head);shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);// 发送广播sendBroadcast(shortcut);
最最最重要的就是为图标添加Flag——>shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

添加这个flag的意思就是:必须要与FLAG_ACTIVITY_NEW_TASK配合使用,这个activity新启动一个栈,原来栈被清空,栈中的activity也被销毁。

所以只会出现一个activtiy且只打开一次应用,最后提一个问题:代码里面都有注释,我想讲网络图片下载并用它来创建快捷方式,不知道怎么处理?请懂得各位指点下,我觉得微信公众号也是这样做的,只是我还不知道怎么处理。。。。。

0 0
原创粉丝点击