如何在点击链接时打开特定活动?

时间:2017-12-12 06:36:55

标签: android android-intent deep-linking

我正在开发一个Android应用程序,因为我已经添加了共享whatsapp共享功能,我已经成功完成了,现在我想在用户点击我共享的链接时打开我的Android应用程序的特定活动。我已搜索很少有链接但没有运气,我希望somebuddy会帮助我。

添加了清单

  <activity
            android:name=".ProductDescriptionActivity"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.NoActionBar">

            <intent-filter>
                <action android:name="com.abc.allaboutcity.MESSAGE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>


            <intent-filter android:autoVerify="true">
                <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="http://allaboutcity.in"
                    android:pathPrefix="/allaboutcity" />
            </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" />
                <!-- Accepts URIs that begin with "example://gizmos” -->
                <data android:scheme="allaboutcity"
                    android:host="allaboutcity" />
            </intent-filter>
        </activity>

2 个答案:

答案 0 :(得分:2)

您应该将清单文件中的意图过滤器添加到要打开的活动

<activity
    android:name="Your Activity"
    android:label="Your Activity Title"
    android:theme="Your Style">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:host="your url"
            android:path="/your path"
            android:scheme="http" />
    </intent-filter>
</activity>

答案 1 :(得分:0)

在您的WebView活动中使用此代码

      Intent intent = getIntent();
      String action = intent.getAction();
      Uri data = intent.getData();

      Webview webView = (WebView) findViewById(R.id.webview_id);
      webView.getSettings().setJavaScriptEnabled(true);
      webView.loadUrl(""+ data);

接下来,在AndroidManifest.xml中使用此代码,将其用于所有链接(Https / Http):

        <intent-filter android:autoVerify="true">
            <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"/>
            <data android:scheme="http"
                android:host="http://allaboutcity.in"
                android:pathPrefix="/allaboutcity" />
            <data android:host="www.host.com" android:pathPattern="/movie/0.*/" android:scheme="http"/>
        </intent-filter>