Android &引用;onCreate();方法未从另一个意图筛选器调用

Android &引用;onCreate();方法未从另一个意图筛选器调用,android,Android,我有一个活动-->A,它有两个意图过滤器。当第一次调用onCreate()方法时。没关系。但是当它已经被一个意图过滤器调用时,如果它被另一个意图过滤器调用,则不会调用onCreate()方法 这是清单中的活动标记: <activity android:name=".login.Login" android:configChanges="orientation|keyboardHidden" android:windowSoftInputMod

我有一个活动-->A,它有两个意图过滤器。当第一次调用onCreate()方法时。没关系。但是当它已经被一个意图过滤器调用时,如果它被另一个意图过滤器调用,则不会调用onCreate()方法

这是清单中的活动标记:

<activity
        android:name=".login.Login"
        android:configChanges="orientation|keyboardHidden"
        android:windowSoftInputMode="adjustResize"
        android:launchMode="singleTask"
        >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />


        <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.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data
                android:scheme="content"
                android:mimeType="application/octet-stream"
                android:pathPattern=".*\\.octopus"
                tools:ignore="AppLinkUrlError" />
        </intent-filter>

    </activity>

您可能需要使用的单顶模式。通过使用它,您将在android活动生命周期方法中获得新的意图


换句话说,如果活动已经在顶部,并且新的意图正在启动该活动,那么新的意图将被传递到
onNewIntent()
方法上的相同
活动
实例。

我尝试过,但随后创建了两个应用实例。创建的第一个应用程序实例也在那里。请帮助使用
SingleTop
。您可以参考此链接了解有关启动模式的更多信息。非常感谢你。我引用了它,但现在的问题是当设置了singletop启动模式时,如果它不在task之上,那么将创建新的Activity实例。然后有两个相同的活动。这让用户感到困惑。请帮助我,我想这是正确的方法。因为如果您使用
singleTask
,如果A在那里,您将启动B,然后再次启动A。新的意图将传递给A,但B将被销毁。
public void onCreate(Bundle savedInstanceState) {

    if (getResources().getBoolean(R.bool.portrait_only)) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
    } else {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
    super.onCreate(savedInstanceState);

// this is true when the second intent filter is used

        Uri data = getIntent().getData();
        if (data != null) {
            getIntent().setData(null);
            try {
                importData(data);
            } catch (Exception e) {
                // warn user about bad data here
                finish();
                return;
            }
        }


......
......

}