繁体   English   中英

Android是否可以避免调用onCreate()?

[英]Android can i avoid onCreate() being called?

我有两个应用程序App-1和App-2。 App-2有一个将启动App-1的按钮。

需要表现为以下行为:-

  1. 用户启动App-1(使用启动器),并启动活动A,B和C,活动C在活动堆栈的顶部。
  2. 请注意,App-1的入口点是活动A。
  3. 用户按下主页键。
  4. 然后,用户启动应用程序App-2。 用户在App-2中选择按钮以启动App-1。
  5. App-2中按钮的onClick()具有以下代码:-

    意图i = new Intent(); i.setAction(“ com.xyz”); //解析为App-1的活动A i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); i.putExtra(“ x”,“ y”); startActivity(i);

步骤4之后,将调用活动A的onCreate() ,这很正常。 但是我希望Android能够将整个Activity Stack带到前台,因为App-1正在运行且Android并未杀死它(如果我在步骤2之后启动了App-1,这是相同的行为)。

我希望将活动C显示给用户。

如果可以的话,请帮我。

我尝试将活动A设置为singleTask和singleInstance。 如果我这样做,只会将活动A带到前台,这不是我想要的。

App-1清单的代码段如下所示:-

<activity android:name=".aa.a"

         android:configChanges="orientation|keyboardHidden|locale"
         android:label="@string/app_name"
         android:theme="@android:style/Theme.NoDisplay"
         >
            <intent-filter>
             <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
           </intent-filter>
           <intent-filter>
                 <action android:name="com.x.y.z" />
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>

</activity>

FLAG_ACTIVITY_NEW_TASK通知Android开始新任务; 新任务不包含B&C,因此不要指望其中的任何一个显示。 另外,FLAG_ACTIVITY_CLEAR_TOP会删除B和C,这与您想要的完全相反。

尝试删除两个标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM