首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

怎么定制launcher allapps中应用的快捷方式

2012-09-24 
如何定制launcher allapps中应用的快捷方式android中,关于Intent相关内容是一整套强大的解耦合机制,跟spri

如何定制launcher allapps中应用的快捷方式

android中,关于Intent相关内容是一整套强大的解耦合机制,跟spring的依赖注射有异曲同工之妙,这里来举几个简单应用的例子.

?

怎么定制launcher allapps中应用的快捷方式

?

1\如何让用户不需要,而系统必须有的组件从ui中消失.

比如mid中的phone、mms和contact应用(如上图椭圆标注的),对于没有电话功能的mid来说,让它们出现在ui中是非常扎眼的,对于有完美主义倾向的人来说,永远用不到的东西出现在选单当中,会让用户觉得没有被尊重的感觉,所以,很有必要让它们在背后默默的服务,而不在用户面前碍眼.

?

解决的办法很简单,进入到对应应用的andoridmunifest.xml文件你会看到这样的代码:

----------------------------------------------------------------------

?? ? ? ?<activity android:name="Settings" android:label="@string/settings_label"

?? ? ? ? ? ? ? ?android:taskAffinity="com.android.settings"

?? ? ? ? ? ? ? ?android:clearTaskOnLaunch="true"

?? ? ? ? ? ? ? ?android:launchMode="singleTop">

?? ? ? ? ? ?<intent-filter>

?? ? ? ? ? ? ? ?<action android:name="android.intent.action.MAIN" />

?? ? ? ? ? ? ? ?<action android:name="android.settings.SETTINGS" />

?? ? ? ? ? ? ? ?<category android:name="android.intent.category.DEFAULT" />

?? ? ? ? ? ? ? ?<category android:name="android.intent.category.LAUNCHER" />

?? ? ? ? ? ?</intent-filter>

?? ? ? ?</activity>

---------------------------------------------------------------------

把红色的这一行拿掉即可.

?

一个Activity如果拥有"android.intent.category.LAUNCHER"这个属性,则表示它属于这个应用为普通用户提供的入口,就像超市为顾客指定的入口一样,用户可以通过应用程序的门进入到应用内部体验.而对程序开发者而言,进入的方式就不限于launcher属性的Activity了,通过intent提供的action,category,class,type都可以匹配到对应的Activity,通过intent调用Activity分为显式调用和隐式调用,显示调用局限于应用内部,而隐式调用则完全是解耦的全局匹配模式.非常之方便.

?

2\如何像astro一样同一个应用在allappsview里面显示多个快捷方式呢?

?

同样的,在你需要它显示的Activity里面加上<category android:name="android.intent.category.LAUNCHER" />即可.则像上图中的方形标注的快捷方式一样,来自同一个应用,但是有自己独立的快捷方式.要修改图片和文字内容也很简单,配置以下紫色的项即可.

?

?

----------------------------------------------------------------------

?

?? ? ? ?<activity android:name="WirelessSettings"

?? ? ? ? ? ? ? ?android:label="@string/wireless_networks_settings_title"

?? ? ? ? ? ? ? ?android:icon="@drawable/ic_launcher_settings"

?? ? ? ? ? ? ? ?>

?? ? ? ? ? ?<intent-filter>

?? ? ? ? ? ? ? ?<action android:name="android.intent.action.MAIN" />

?? ? ? ? ? ? ? ?<action android:name="android.settings.WIRELESS_SETTINGS" />

?? ? ? ? ? ? ? ?<action android:name="android.settings.AIRPLANE_MODE_SETTINGS" />

?? ? ? ? ? ? ? ?<category android:name="android.intent.category.DEFAULT" />

?? ? ? ? ? ? ? ?<category android:name="android.intent.category.LAUNCHER" />

?? ? ? ? ? ? ? ?<category android:name="android.intent.category.VOICE_LAUNCH" />

?? ? ? ? ? ?</intent-filter>

?? ? ? ?</activity>

?

----------------------------------------------------------------------

热点排行