ShortCut的延伸功能--为一个app的不同界面创建不同的快捷方式

原创 2015年11月18日 11:40:05

** 现在做的项目有一个特殊的需求,众所周知,一个APP有一个主程序界面,一般是luncher的界面,通过这个主界面又可以进入很多界面,但是楼主这个程序需要为一个独立于主界面的子界面做一个独立的shortcut,暂且称之为A界面。
做着做着快捷方式我突然发现一个问题,就是一个app虽然可以通过修改shortcut的Intent参数来为不同的界面创建不同的快捷方式,但是每次点击A界面的快捷方式,在启动A界面的Activity之前总会先调用主界面,楼主的A界面是一个背景透明的悬浮在桌面上的对话框,结果背景变成程序主界面,楼主整个人都不好了。
楼主百思不得其解,找了又找,网上好多blog都是告诉如何创建快捷方式你抄我的我抄你的(就像楼主上一篇文章一样)。楼主最后只好反便宜了某一巨头平台软件,在XML中发现了蛛丝马迹。哈哈!!!!!!!!原来快捷方式的调用也是根据程序栈来的,秉承栈先进后出的原则,每次调用A界面,主程序就被调出来了。所以只需在A界面的XML中配置如下**

    <activity
            android:name=".activity.DesktopIconsActivity"
            android:theme="@android:style/Theme.Translucent"
            android:taskAffinity="com.***.***" android:screenOrientation="portrait" android:configChanges="locale|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>

        </activity>

注意这段代码这里写代码片 android:taskAffinity=”com..“`
这里就是把A独立于程序的栈之外,属性内容随便写。这样遍大功告成了。
可是楼主又发现一个问题,这种方法创建的shortcut我竟然没有办法回收和更新,也许是这个shortcut不在主栈内,所以context的管不到他了。
然后看了各个巨头的应用 发现他们竟然也没办法做到!!哈哈时间紧迫楼主就没有深究了,产品来要我就说BAT都做不到!
如果各位看官发现了能解决的办法一定要告诉楼主啊,么么哒!

一个apk多个入口,在桌面上创建多个应用图标的桌面快捷方式

前言   Android应用一般都是一个APK一个桌面图标,但有时候我们需要实现一个APK在桌面上有多个图标(比如BAT的某些应用,有桌面快捷方式),对于这种一个APK需要在桌面上显示多个图标的,通...
  • mrleeapple
  • mrleeapple
  • 2015年11月27日 13:41
  • 798

android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView

前言: 为了保持界面UI的整洁以及将尽可能多的内容显示在有限的空间中,往往需要将长度过长的TextView进行内容截取。本控件满足了TextView可在”完整内容”与”截取内容”两种模式下进行切...
  • mp624183768
  • mp624183768
  • 2018年01月13日 16:11
  • 45

iOS 添加快捷方式到主屏幕

参考文章:iOS 添加到主屏幕/ iOS Add To Desktop    iOS创建桌面快捷方式代码 在上面文章和其他资料基础上实现此功能,详细介绍和技术点可参考上述文章。Demo是以第三方C...
  • Crazy_SunShine
  • Crazy_SunShine
  • 2017年12月06日 14:24
  • 225

Android创建应用快捷方式(ShortCut)的有效方式

有时候我们需要为自己的APP,创建桌面快捷方式,本文将介绍有效的方式,避免出现重复创建,或者创建失败的情况。通常应用安装后,第一次打开,去检测当前应用的快捷方式是否创建,如果没有创建,我们就帮生成桌面...
  • dzsw0117
  • dzsw0117
  • 2016年04月18日 09:24
  • 4957

android 一个应用两个入口一个应用两个快捷方式(不同图标显示)

我们在 Android开发中,一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版Activity、Service信息等。一般而言,这个文件中...
  • u011467537
  • u011467537
  • 2015年12月22日 15:10
  • 2226

Android 程序桌面快捷方式的检测、添加和删除相关网址

本例添加和删除快捷方式是在登陆的时候由用户选择的,效果是一个CheckBox,初始化界面的时候会查看用户以前是否已经勾选,再给他添加侦听,就能分别添加和删除快捷方式了。 代码如下: ? ...
  • liranke
  • liranke
  • 2014年04月15日 20:01
  • 759

电脑使用小技巧

摘自龙族论坛的一些电脑小技巧XP提速超级迷你技巧面对越来越慢的机器,辱骂微软或是Intel都是徒劳,我在如意中,发现了一个小的不能再小的技巧:0 && image.height>0){if(image...
  • summertie
  • summertie
  • 2008年07月03日 16:04
  • 617

Android在桌面添加两个快捷方式,如何区分从哪个入口进去的?

我们可能会遇到如下的需求: 应用的首页由多个标签页组成,每个标签页是一个fragment,需要你在桌面生成多个快捷方式,分别进入到不同的标签,例如: 拨号 和 通话记录。生成多入口方式如下:...
  • jcxxxxx55
  • jcxxxxx55
  • 2016年11月01日 22:53
  • 837

为APP添加快捷方式

相信大家在使用很多的应用的时候都碰到过这样的一个情景,那就是当我们第一次点击使用这个应用的时候程序会主动的为我们创建一个桌面上的快捷方式,这样的好处是可以让用户更加方便的进入这个应用,省去找的麻烦。有...
  • yangdeli888
  • yangdeli888
  • 2013年05月28日 12:06
  • 4460

mac常用快捷方式

复制:command+C 粘贴:command+V 文件剪切的复制:command+C 文件剪切粘贴:option+command+V 文本剪切:command+X 撤销:command+...
  • u012160285
  • u012160285
  • 2018年02月06日 17:57
  • 8
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ShortCut的延伸功能--为一个app的不同界面创建不同的快捷方式
举报原因:
原因补充:

(最多只允许输入30个字)