zoukankan      html  css  js  c++  java
  • 应用多入口配置

    项目需求:

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

    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无效也没办法达到想要的效果

  • 相关阅读:
    使用SQLite做本地数据缓存的思考
    毕业后第一次跳槽面试的点滴记录
    Nancy基于JwtBearer认证的使用与实现
    谈谈Nancy中让人又爱又恨的Diagnostics【上篇】
    CentOS 7.x 防火墙开放端口相关用法记录
    浅析如何在Nancy中使用Swagger生成API文档
    浅析如何在Nancy中生成API文档
    初探CSRF在ASP.NET Core中的处理方式
    微信小程序支付简单小结与梳理
    浅析Content Negotation在Nancy的实现和使用
  • 原文地址:https://www.cnblogs.com/toolbear/p/14848503.html
Copyright © 2011-2022 走看看