由于未知原因,我无法正确地离开应用程序,因此当我再次按下主页按钮和应用程序图标时,我会恢复应用程序中的位置.我想强制应用程序在第一个Activity上重新启动.
我想这与onDestroy()或者onPause()有关,但我不知道该怎么做.
单击应用程序的启动图标会发生什么?
是否始终发送新意图,或者结果有时与从最近任务恢复任务相同?
如果发送了intent,它何时被发送到新活动实例的onCreate()方法,何时通过现有活动的onNewIntent()进行路由?
让我们假设意图通过任务中现有活动的onNewIntent()进行路由.它被发送到哪个活动?最靠近顶部的那个或最靠近根的那个?它是否总是被发送到应用程序的启动活动的实例,或者它有时会被发送到与根目录具有相同亲和力的活动吗?它是否可以被发送到与根不具有相同亲和力的活动?
最后,这一切是如何受到任务中各种活动的各种启动模式(标准,单顶,单实例,单一任务)的影响?
如果有人知道这一切,请帮助我!
我正在阅读有关taskaffinity的内容,并创建了一个包含以下活动的演示应用:
据说,具有相同taskaffinity的活动秘密打开另一个的单个实例.
所以,我把每个活动的onResume登录到任务ID.如果它创建了单个实例,那么当我打开D时它为什么不执行onBesume,反之亦然.
我阅读开发者网站和其他帖子,但仍然没有得到如何使用taskaffinity及其使用,为什么我们不应该使用singleInstance?
表现:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.danroid.taskaffinity.A"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- android:taskAffinity="com.ando" -->
<activity
android:name="com.example.danroid.taskaffinity.B"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.C"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.D"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.E"
android:label="@string/app_name" >
</activity>
</application>
Run Code Online (Sandbox Code Playgroud) 我正在使用本机反应。深度链接非常适合 ios。但是,对于 Android,我似乎无法弄清楚如何从深层链接正确打开我的应用程序。
从 Firefox 打开深层链接时,我的应用程序在 Firefox 窗口内启动。当我使用深层链接测试器应用程序时也是如此。除了不是从正确的应用程序启动之外,一切都按预期与应用程序一起工作。
我究竟做错了什么?这是我的 AndroidManifest.xml 的摘录:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)