Android应用程序链接在Outlook中打开webview,而不是我的应用程序

wbrvyc0a  于 2023-01-24  发布在  Android
关注(0)|答案(1)|浏览(147)

我的应用程序是一个混合了本地登录活动和webview的应用程序。在某些情况下,你会在电子邮件中得到一个链接,它会把你导航到webview中的某个屏幕。这个部分工作得很好,webview打开,用户被带到正确的地址。
当在outlook中点击链接时,整个应用程序似乎在outlook中打开,我甚至可以在outlook中进入我的本地登录屏幕。就像我的webview被劫持了一样。我的webview配置中缺少了什么吗?
AndroidManifest.xml:'

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.CALL_PHONE" />

<application
    android:allowBackup="true"
    android:configChanges="orientation"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Androidappshell"
    android:usesCleartextTraffic="true">
    <activity
        android:name="package.name.LoginActivity"
        android:exported="true"
        android:theme="@style/Theme.App.SplashScreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <activity
        android:name="package.name.MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </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:scheme="https"
                android:host="domain.com"
                android:port="9201" />
        </intent-filter>
    </activity>
</application>

网络视图设置:

@SuppressLint("SetJavaScriptEnabled")
private fun webViewSetUp(jsonData: String, url: String) {
    wb_webView.webViewClient = object : WebViewClient() {

         override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
            super.onPageStarted(view, url, favicon)
            wb_webView.evaluateJavascript(
                "javascript:localStorage.setItem('clientMode', 'android')", null
            )
        }

        override fun onPageFinished(view: WebView, url: String) {
            wb_webView.evaluateJavascript("javascript:setUpAngular($jsonData)", null)
        }
    }
    wb_webView.clearCache(false)
    wb_webView.loadUrl(url)
    wb_webView.settings.javaScriptEnabled = true
    wb_webView.settings.domStorageEnabled = true
    wb_webView.addJavascriptInterface(JsWebInterface(this, this), "androidApp")
}
au9on6nz

au9on6nz1#

问题是我的活动没有被标记为单例示例,添加了:android:launchMode="singleInstance"我的活动。

相关问题