1

我在从我的活动的意图中获取 URI 时遇到问题。

这是清单中的代码:

<activity android:name=".ui.Library"
          android:label="@string/app_name"
          android:launchMode="singleTask" >
    <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <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:host="*"
                android:pathPattern=".*\\.xyzandroid"
                android:scheme="http" />
            <data
                android:host="*"
                android:pathPattern=".*\\.xyzandroid"
                android:scheme="https" />
            <data
                android:host="*"
                android:pathPattern=".*\\.xyzandroid"
                android:scheme="content" />
            <data
                android:host="*"
                android:pathPattern=".*\\.xyzandroid"
                android:scheme="file" />
        </intent-filter>
    </activity>

问题是我在我的主要活动中只有当我的活动第一次开始时的意图:这意味着,例如,如果点击一个结尾为 .xyzandroid 的链接,我的活动开始,我得到了 URI。但是我的活动是从启动器开始的,如果有人在浏览器中单击链接后,我无法获取 URI。

我该如何解决这个问题?有任何想法吗?谢谢!

4

1 回答 1

1

塞尔文是对的,你只需要覆盖。

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    // getIntent() should always return the most recent
    setIntent(intent);
}
于 2012-05-04T10:25:20.543 回答