项目需求:

  • 应用多入口配置
  • 可以拉起不同的入口
  • 拉起和隐藏都能有效

1.应用多入口配置 这里直接在AndroidManifest.xml 里面配置就好

 <activity
            android:name="com.autochips.jancar.RightCameraPage"
            android:excludeFromRecents="true"
            android:launchMode="singleInstance"
            android:lockTaskMode="always"
            android:taskAffinity="com.autochips.jancar.RightCameraPage" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <!--        右视-->
        <activity-alias
            android:name="com.jancar.rightview"
            android:enabled="false"
            android:icon="@android:drawable/presence_video_away"
            android:label="@string/app_name_right_video"
            android:launchMode="singleInstance"
            android:targetActivity="com.autochips.jancar.RightCameraPage">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>
        <activity-alias
            android:name="com.jancar.frontview"
            android:enabled="false"
            android:icon="@android:drawable/presence_video_away"
            android:label="@string/app_name_front_video"
            android:targetActivity="com.autochips.jancar.RightCameraPage">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

注意事项 : 主入口定义的是 android:taskAffinity 其他的同名入口是 android:targetActivity

2. 可以拉起不同的入口

拉起方法 用Component方法

	ii.setComponent(new ComponentName("com.autochips.backcarapp", "com.jancar.rightview"));
//	ii.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	ii.setAction(ACTION_START_RIGHTVIEW_STOP);
	startActivity(ii);

3. 拉起和隐藏都能有效

拉起的时候 点一下就会拉起一个,点一下就会拉起一个 属于拉起多个相同的界面,这点操作很麻烦,隐藏的时候也是直接onpause,之后oncreate方法重新创建一个新的UI界面,导致action也没有完全正常操作
这里做了一个处理 就是在Activity的onPause下直接调用finish(), 这样避免一直拉起相同的界面显示, 一般应用直接用SingleInstance的启动模式就好了,在这里好像不起作用..不知道为什么,可能是哪里还没有做好


以上的效果还是不太理想 ,依旧采用单独的Activity入口方便些,不然同名Activity使用LaunchMode无效也没办法达到想要的效果