当前位置: 首页 > 知识库问答 >
问题:

单实例:发射器活动的发射模式

戚俊健
2023-03-14
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.jatin.notification">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"
            android:launchMode="singleInstance" > <!-- Activity A -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".NotificationActivity"
            >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
        <activity
            android:name=".DialogActivity"
            android:excludeFromRecents="true"
            android:noHistory="true"
            android:theme="@style/Theme.AppCompat.Dialog.MinWidth" />
        <activity
            android:name=".SecondActivity" /><!-- Activity B -->
    </application>

</manifest>

根据单一html" target="_blank">实例,系统不会向持有实例的任务启动任何其他活动。该活动始终是其任务的唯一成员;由该活动启动的任何活动都将在单独的任务中打开。

但是,当我从活动A(启动器活动)导航时-

*没有添加旗帜。

为什么活动B推到活动A之上(因为活动具有启动模式:“singleInstance”),而不是创建新任务?

活动清单:

TaskRecord{14ba4a25#18 A=com.example.nischay.notification U=0 sz=2}运行#1:ActivityRecord{2a37b313 u0 com.example.nischay.notification/.SecondActivity t18}运行#0:ActivityRecord{1ab16fa7 u0 com.example.nischay.notification/.main activity t18}

mResumedActivity:ActivityRecord{2a37b313 u0 com.example.nischay.notification/.SecondActivity t18}mLastPausedActivity:ActivityRecord{1ab16fa7 u0 com.example.nischay.notification/.main activity t18}

细节:

设备:联想k50a40 Android版本: 5.0编译SdkVersion: 25

代码

Intent意图=new Intent(MAYActivity.this,第二ctivity.class); starActivityForResult(意图,REQUEST_CODE_NOTIFY);

共有1个答案

田俊爽
2023-03-14

答对了!终于对这种奇怪的行为有了解释!

您说您从Main Active开始第二活动,如下所示:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE_NOTIFY);

使用startActivityForResult()时,启动的活动必须与预期结果的活动运行在同一任务中(即:启动的活动)。因此,Android正在忽略main活动的launchMode,并在同一任务中启动SecondActivity

您创建了一个没有记录的冲突。为了解决你的问题,你需要决定你想要什么。您不能有一个调用starActivityForResult()unileInstance活动。要么选择另一种机制在第二活动主活动之间通信,要么删除主活动的特殊启动模式。

您为什么希望MainActivity成为singleInstance?这有什么原因吗?

 类似资料:
  • 发射器模块(ShapeModule) 公有属性: 属性 作用 position 相对于挂载节点的位置 rotation 相对于挂载节点的旋转 scale 相对于挂载节点的缩放 sphericalDirectionAmount 表示当前发射方向与当前位置到结点中心连线方向的插值 randomPositionAmount 表示与当前发射位置的偏移 方块(Box) 属性 作用 shapeType Box

  • 我对Apache camel和camel-K都是新手。我正在构建一个Kubernetes容器化堆栈,其中ActiveMQ消息队列作为外部数据源的入站接口,InfluxDB作为数据存储,camel-K路由用于从AMQ到InfluxDB的消息路由。除了Camel-K路线,该系统运行良好。我通过分配给服务的静态IPendpoint向集群公开ActiveMQ的61616端口: 因此,我希望集群中的其他PO

  • 在最近的JDK升级后,我面临着Codenameone的问题。试图用多种方法解决它,但没有运气。

  • 组织。springframework。靴子加载器。默认情况下,Launcher将始终在launch()方法中生成一个后台线程(https://github.com/spring-projects/spring-boot/blob/master/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/lo

  • Spring Cloud Stream提供了一个名为spring-cloud-stream-metrics的模块,可以用来从Spring Boot度量端点到命名通道发出任何可用度量。该模块允许运营商从流应用收集指标,而不依赖轮询其端点。 当您设置度量绑定的目标名称(例如spring.cloud.stream.bindings.applicationMetrics.destination=<DEST

  • 情节 所有批处理应用程序(基于Spring批处理)都必须部署到Jboss EAP [Enterprise Workload/Scheduling][Shell脚本] 问题 由于批处理作业是通过HTTPendpoint异步启动的,shell脚本如何获得批处理作业的执行结果