Android activity-alias 多入口配置

原创 2015年07月11日 10:27:02

       以前装应用的时候有些应用会在桌面上生成两个图标,这两个图标有些是同一个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


activity-alias详解及应用

activity-alias标签元素众所周知,AndroidManifest是一个xml文件,它包含很多标签元素,如application、activity、receiver等,其中有一个叫做acti...
  • u014738140
  • u014738140
  • 2016年06月12日 20:24
  • 5185

activity-alias的使用

activity-alias是android里为了重复使用Activity而设计的。当在Activity的onCreate()方法里,执行getIntent().getComponent().getC...
  • electricity
  • electricity
  • 2011年06月22日 16:13
  • 38002

activity-alias 解决兼容问题的利器

历经大半年的重构工作随着版本的快速迭代,已经逐渐趋于稳定。最近遇到一些新老版本的兼容问题,其中有一部分是由于重构后改变了原来activity的包名或者类名,调用方找不到目标activity所致。...
  • EdisonChang
  • EdisonChang
  • 2016年01月04日 20:12
  • 1402

用<activity-alias/>让配置WXEntryActivity更爽

微信分享算是一个app的标配功能了,做过的朋友都知道集成微信提供的sdk后还需要配置一个WXEntryActivity,这个Activity用于接收分享操作的结果。 配置这个Activity有个限制,...
  • PigLoveSula
  • PigLoveSula
  • 2017年07月13日 12:55
  • 915

一个app,多个入口图标,activity-alias实现多程序入口并显示指定view完成

http://blog.csdn.net/black0591/article/details/8264168 需求总是一个接一个。 missed call需要一个单独的图标,点击进入,而m...
  • jdsjlzx
  • jdsjlzx
  • 2013年01月21日 09:38
  • 9874

Android中动态更换App的桌面icon图标和activity-alias的使用

转载请注明出处: http://blog.csdn.net/xiaohao0724/article/details/62424427 每年到11.11或5.18时候我们会发现很多电商App的icon在...
  • xiaohao0724
  • xiaohao0724
  • 2017年03月17日 10:42
  • 285

用<activity-alias/>让配置WXEntryActivity更方便

本文出处:http://m.blog.csdn.net/PigLoveSula/article/details/75050292 转载为方便自己以后查阅,同时也方便他人...
  • happyjie1988
  • happyjie1988
  • 2017年11月30日 16:00
  • 37

Android <activity-alias> 的用法

activity-alias功能Android里为了重复使用Activity而设计的。 activity-alias作为一个已存在Activity的别名,则应该可以通过该别名标签声明快速打开目标Ac...
  • sky1373516909
  • sky1373516909
  • 2017年11月24日 11:48
  • 54

activity-alias详解及应用

activity-alias标签元素 众所周知,AndroidManifest是一个xml文件,它包含很多标签元素,如application、activity、receiver等,其中有一个...
  • qq_36467463
  • qq_36467463
  • 2017年11月14日 13:56
  • 41

Acitivity子类AliasActivity简介和使用

1.AliasActivity的简介 A
  • zy1235678
  • zy1235678
  • 2014年06月19日 19:35
  • 6137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android activity-alias 多入口配置
举报原因:
原因补充:

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