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

2016-05-12  本文已影响113人  2f479b1467f1

** 现在做的项目有一个特殊的需求,众所周知,一个APP有一个主程序界面,一般是luncher的界面,通过这个主界面又可以进入很多界面,但是楼主这个程序需要为一个独立于主界面的子界面做一个独立的shortcut,暂且称之为A界面。

做着做着快捷方式我突然发现一个问题,就是一个app虽然可以通过修改shortcut的Intent参数来为不同的界面创建不同的快捷方式,但是每次点击A界面的快捷方式,在启动A界面的Activity之前总会先调用主界面,楼主的A界面是一个背景透明的悬浮在桌面上的对话框,结果背景变成程序主界面,楼主整个人都不好了。

楼主百思不得其解,找了又找,网上好多blog都是告诉如何创建快捷方式你抄我的我抄你的(就像楼主上一篇文章一样)。楼主最后只好反便宜了某一巨头平台软件,在XML中发现了蛛丝马迹。哈哈!!!!!!!!原来快捷方式的调用也是根据程序栈来的,秉承栈先进后出的原则,每次调用A界面,主程序就被调出来了。所以只需在A界面的XML中配置如下*

android:theme="@android:style/Theme.Translucent"

 android:screenOrientation="portrait"

 android:configChanges="locale|keyboardHidden"

android:taskAffinity="com.***.***"

注意这段代码这里写代码片

android:taskAffinity="com.***.***"

这里就是把A独立于程序的栈之外,属性内容随便写。这样遍大功告成了。

可是楼主又发现一个问题,这种方法创建的shortcut我竟然没有办法回收和更新,也许是这个shortcut不在主栈内,所以context的管不到他了。

然后看了各个巨头的应用 发现他们竟然也没办法做到!!哈哈时间紧迫楼主就没有深究了,产品来要我就说BAT都做不到!

如果各位看官发现了能解决的办法一定要告诉楼主啊,么么哒!

上一篇下一篇

猜你喜欢

热点阅读