Android activity-alias 多入口配置

來源:互聯網
上載者:User

標籤:android   deskclock   android多入口   activity-alias   

       以前裝應用的時候有些應用會在案頭上產生兩個表徵圖,這兩個表徵圖有些是同一個Activity的入口,有些是另外一個Activity的入口,這樣的效果是怎麼實現的呢?在看Android原生DeskClock程式的時候看到了這個功能的實現.使用的是activity-alias:

1.文法格式

<activity-alias android:enabled=["true" | "false"]                android:exported=["true" | "false"]                android:icon="drawable resource"                android:label="string resource"                android:name="string"                android:permission="string"                android:targetActivity="string" >    . . .</activity-alias>

2.DeskClock中應用

       從下面的配置可以看出這是同一個activity(DeskClock)的兩個入口,並且這兩個入口的名字表徵圖都一樣,這樣做有什麼意義呢?可以看到activity-alias中標記了一個名為android.intent.category.DESK_DOCK的category,這個是在android裝置插上案頭Dock底座的時候才會觸發alias入口.

<activity android:name="DeskClock"         android:label="@string/app_label"         android:theme="@style/DeskClock"         android:icon="@mipmap/ic_launcher_alarmclock"         android:launchMode="singleTask"         >     <intent-filter>         <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.DEFAULT" />         <category android:name="android.intent.category.LAUNCHER" />     </intent-filter></activity><activity-alias android:name="DockClock"         android:targetActivity="DeskClock"         android:label="@string/app_label"         android:theme="@style/DeskClock"         android:icon="@mipmap/ic_launcher_alarmclock"         android:launchMode="singleTask"         android:enabled="@bool/config_dockAppEnabled"         >     <intent-filter>         <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.DEFAULT" />         <category android:name="android.intent.category.DESK_DOCK" />     </intent-filter></activity-alias>

       activity-alias通過指定targetActivity來決定入口相串連的activity,給該程式更改一個不同的label(ClockAlias)和icon(菊花)並且替換掉Dock底座的category,如下部代碼配置所示.

<activity-alias android:name="DockClock"         android:targetActivity="DeskClock"         android:label="@string/app_second_label"         android:theme="@style/DeskClock"         android:icon="@mipmap/entrance"         android:launchMode="singleTask"         >     <intent-filter>         <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.DEFAULT" />         <category android:name="android.intent.category.LAUNCHER" />     </intent-filter></activity-alias>

       這樣修改完成配置之後就可以實現在android裝置上雙入口表徵圖了,點擊兩個表徵圖都可以進入到DeskClock的程式裡面,具體效果如所示

                      


轉載請註明出處:http://blog.csdn.net/l2show/article/details/46828391


Android activity-alias 多入口配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.