关闭

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

264人阅读 评论(0) 收藏 举报
分类:

** 现在做的项目有一个特殊的需求,众所周知,一个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都做不到!
如果各位看官发现了能解决的办法一定要告诉楼主啊,么么哒!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7435次
    • 积分:170
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:12篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论