仿微信公众号发送到桌面快捷方式
来源:互联网 发布: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
- 仿微信公众号发送到桌面快捷方式
- WINDOWS7没有"发送到桌面快捷方式“
- vista系统恢复发送到桌面快捷方式
- win7发送到桌面快捷方式丢失解决方案
- windows无法找到发送到桌面快捷方式
- android发送桌面快捷方式
- 右键发送到"桌面快捷方式"等没了的解决办法
- 电脑 右击 发送到没有桌面快捷方式解决方法
- Windows7 创建右键发送到桌面的快捷方式
- 网页快捷方式到桌面
- 网址保存到桌面快捷方式
- intellij创建快捷方式到桌面
- android 添加快捷方式到桌面
- 创建应用快捷方式到桌面
- 桌面的快捷方式右键点击没有“打开”,开头是发送到
- 发送快捷方式到指定文件夹
- 把网站生成快捷方式到桌面
- 右键没有“快捷方式到桌面”快速解决方法
- Leaks检查内存泄漏,内存清理、监控的Android开发工具
- CSS完美hack方案
- poj2965
- CSS 中 # 和 . 的区别
- OpenCV学习笔记(八) 边缘、线与圆的检测
- 仿微信公众号发送到桌面快捷方式
- 【宝宝总是饿1】C#如何与数据库相连?
- sql server2008 R2 各个版本的区别与选择
- LeetCode 231,326,342 --Power of Two & Three & Four
- CyanogenMod 11.0模拟器goldfish的编译方法及下载地址
- spring-boot整合Mock进行单元测试
- php中GD的使用
- OpenCV学习笔记(七) 图像金字塔 阈值 边界
- Vert.x 核心模块 编写TCP服务器端(五)