标签: android-task

android:launchMode和android:documentLaunchMode属性之间有什么区别?

因此,我一直在阅读“ 任务”,“后退堆栈”和“概述屏幕”上的文档,有一件事使我感到困惑。在launchMode这里阅读之后documentLaunchModehttp : //developer.android.com/guide/components/tasks-and-back-stack.html然后在这里阅读:http : //developer.android.com/guide/components/recents.html我无法分辨它们之间的差异!

两者都被描述为提供控制相对于当前任务(启动活动的任务)的任务中新活动的启动的方法。那么这两种模式有何不同?-document的附加意味着什么?

以下是直接在清单文件中使用它们的文档:
LaunchMode: http : //developer.android.com/guide/topics/manifest/activity-element.html#lmode
DocumentLaunchMode: http : //developer.android。 com / guide / topics / manifest / activity-element.html#dlmode

android android-activity android-task

5
推荐指数
1
解决办法
1888
查看次数

android singleTask活动不作为root?

我一直在阅读有关发射模式的文档,有一点我没有理解.该文档说singleTask活动始终是堆栈的根:

相比之下,"singleTask"和"singleInstance"活动只能开始一项任务.它们始终位于活动堆栈的根部.此外,设备一次只能保存一个活动实例 - 只有一个这样的任务.

但是:如果你看一下图4中的部分文档,你会看到当Activity 2启动Activity Y(将该任务置于前台)时,Activity Y已经位于任务的顶部并且将位于当前的顶部任务,而不是根.

我在这个模拟应用程序中尝试了这个场景,当我创建singleTask活动时,它总是创建一个新任务.但是,如果唯一的实例已经存在,则它将完成高于此实例的所有活动,因此唯一的实例可以是根(也是任务中的唯一活动).

活动Y如何成为活动X上方任务的首位?

我还有其他原因吗?

PS:我也不太了解Task和后台堆栈之间的区别.

android launchmode android-task

4
推荐指数
1
解决办法
647
查看次数

Android - 如何检测堆栈中的最终Activity

我使用下面的代码检查最后Fragment一个Activity以弹出一个对话框

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // Check if there is only one fragment
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (getSupportFragmentManager().getBackStackEntryCount() == 1) {
                DlgUniversalError.shallIQuit(this, getApplicationContext()
                        .getResources().getString(R.string.doYouWantToQuit),
                        getSupportFragmentManager());
                return false;
            }
        }
        return super.onKeyDown(keyCode, event);
    }
Run Code Online (Sandbox Code Playgroud)

现在假设我有一套Activitys.如何Activity判断Activity堆栈中是否为最后一个,并弹出退出对话框?

android android-lifecycle android-activity back-stack android-task

2
推荐指数
1
解决办法
3467
查看次数

如何以当前状态恢复现有任务

我的应用程序有两个活动 A 和 B。A 是任务的根,并且是从启动图标启动的那个。B 可以从 A 开始。

除了从启动图标启动 A 之外,还可以通过单击另一个应用程序中的文件来启动 A,例如单击电子邮件附件或 Drive 中的文件。我通过向清单文件中的意图过滤器添加操作和类别来完成此操作。

我想让它在从另一个应用程序启动 A 时,而不是创建一个新任务,我希望现有任务恢复到与之前相同的状态。这可能是活动 A 或 B,无论用户在他们按下家之前碰巧在哪里。

我尝试了各种启动模式和意图标志,但似乎没有任何效果。

android android-activity android-task

2
推荐指数
1
解决办法
600
查看次数

如何延迟 Android 中的某些操作,以便任务在设置的延迟后完成?

我正在尝试在 Android 中开发一个应用程序,其中有一些需要在一段时间后执行的操作。

我可以做些什么来实现这个目标?

multithreading android action android-task

2
推荐指数
1
解决办法
4297
查看次数

Android Activity 错误地重新定位到应用程序任务

我有一个应用程序,它具有大多数活动的常规任务行为,但它也有一个需要启动到创建它的任务的活动。

该活动是从哑剧类型发起的。如果另一个应用程序启动该活动,则该活动应显示在同一任务中。然而,该活动始终会重新确定其应用程序任务的父级。尽管明确设置allowTaskReparenting为,但还是如此false

当应用程序中没有其他活动时,活动会在启动它的任务中正确启动。仅当任务中存在应用程序的其他活动时,它才重新确定父级。

如何让该 Activity 仅在启动它的 Activity 之上启动,与同一应用程序的其他 Activity 分开?以下是 AndroidManifest.xml 的相关部分:

<activity
    android:name="com.matthewmitchell.peercoin_android_wallet.ui.RestoreWalletActivity"
    android:configChanges="orientation|keyboard|keyboardHidden"
    android:theme="@style/My.Theme.Dialog"
    android:allowTaskReparenting="false" >
    <intent-filter android:label="@string/import_keys_intent_filter_action" >
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />

        <data android:mimeType="application/x-peercoin-wallet-backup" />
        <data android:mimeType="application/octet-stream" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-intent android-activity android-task

1
推荐指数
1
解决办法
1890
查看次数

Android:后退按钮的默认操作

我知道当我们按下后退按钮时,onBackPressed()会调用默认功能.

http://developer.android.com/reference/android/app/Activity.html#onBackPressed()

该文档说"默认实现只完成当前活动".这意味着什么,它是否意味着默认的onBackPressed()包括函数finish()

finish()里面的实现是什么?那是onDestroy()吗?

android android-activity android-task

0
推荐指数
1
解决办法
1713
查看次数