Android从浏览器返回到应用程序

Vel*_*jko 4 browser android

我在我的应用程序中有选项启动浏览器并加载imdb网站.我正在使用ActionView.

        Intent intent1 = new Intent(android.content.Intent.ACTION_VIEW,
                Uri.parse(website));

        try {
            activity.startActivity(intent1);
        } catch (Exception e) {
            Toast.makeText(activity, R.string.no_imdb, Toast.LENGTH_SHORT)
                    .show();
        }
Run Code Online (Sandbox Code Playgroud)

当我点按后退按钮时会出现问题.当默认浏览器应用程序启动时,一切正常.当Opera Mini应用程序启动时,当我点击后退按钮时,似乎我的应用程序收到两个后退动作,并完成我当前的活动.

怎么预防这个?

sda*_*bet 6

尝试在新任务中启动intent:

intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

要么

intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)


Mil*_*ali 5

请将此代码添加到您需要返回的活动的 Android 清单中

    <activity
        android:name="YourActivityName"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="schemas.your_package.YourActivityName" />

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

        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

并将其添加到您的网页

    <activity
        android:name="YourActivityName"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="schemas.your_package.YourActivityName" />

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

        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

由于手机上只有一个应用程序有此操作名称(schemas.your_package.YourActivityName),因此网页直接返回应用程序