当活动 onPause 时,根据意图接收恢复应用程序(活动)

Ali*_*lin 5 android activity-lifecycle android-activity

这是我的场景:

  • 用户打开应用程序并使用它 => 该应用程序位于其屏幕之一
  • 用户使用 Home 键在后台移动应用程序
  • 用户开始浏览并浏览我的网站。通过网站,某些链接可以打开应用程序
  • 用户单击浏览器中的链接并启动应用程序,但即使活动处于 onPause,它也不会恢复,而是重新启动,因此当前会话正在丢失。

我的主要活动是使用意图过滤器数据,因此我添加了:

  <activity android:name=".HomeActivity"
            <intent-filter>
                <data android:scheme="myprop" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
  </activity>
Run Code Online (Sandbox Code Playgroud)

因此,当用户在浏览器中单击自定义 URL 时,我的应用程序将被唤醒并启动 Activity。因此,正如我之前所说,如果 myHomeActivityonPause(意味着用户已经使用了它),是否可以简单地恢复它(当然还要解析 myprop 参数),同时保持当前用户进度?

pet*_*tos 4

您需要将活动的启动模式定义为单实例。为此,请更新 Android Manifest 中的 Activity:android:launchMode="singleInstance"

之后,您现有的活动将被打开,您将收到回调Activity.onNewIntent(Intent intent)