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 に答える