在Chrome浏览器中打开来自网址的活动

时间:2017-08-27 20:59:34

标签: android

我想在用户点击某个Activity时打开我的url。 我用这种方式创建了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="http"
                android:host="mysite.com"
                android:pathPrefix="/prefix/" />
        </intent-filter>

当我从我的短信或笔记打开url时,它工作正常(我的活动打开),但是当我从Chrome浏览器点击url时,它会将我重定向到网站。 我听说chrome 23+存在问题,但我无法创建任何url,可以将我从activity重定向到chrome

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我的一个应用程序,我正在使用如下所述(请用您的值替换host,pathPrefix和port)。在我的情况下,我使用不同的主机,端口和pathPrefix的开发,qa和生产。这就是我在intent filter中添加所有场景的原因。它对我来说很好。你可以这样试试吗

<activity
        android:name=".SampleActivity"
        android:label="@string/sample"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE"/>

            <!--Dev-->
            <data
                android:host="dev.mysite.com"
                android:pathPrefix="/your path/"
                android:port="4000"
                android:scheme="http" />
            <data
                android:host="mysite.com"
                android:path="/your path/"
                android:port="4000"
                android:scheme="https" />

            <!--Qa-->
            <data
                android:host="qa.mysite.com"
                android:pathPrefix="/your path/"
                android:port="8000"
                android:scheme="http" />
            <data
                android:host="qa.mysite.com"
                android:path="/your path/"
                android:port="8000"
                android:scheme="https" />

            <!--Production-->
            <data
                android:host="mysite.com"
                android:pathPrefix="/your path/"
                android:scheme="http" />
            <data
                android:host="mysite.com"
                android:path="/your path/"
                android:scheme="https" />          
        </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"/>
        </intent-filter>
    </activity>