I'm having trouble getting deep linking to work in my android application, so I found the most bare-bones tutorial I could and it's still just opening the browser when I click on the link. All of this is pasted from my code not the tutorial, in case I pasted something wrong. Even with this
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.DeepLinkTest">
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- as we want to open main activity from our link so we are specifying
only in main activity or we can specify that in different activity as well -->
<!-- on below line we are adding intent filter to our MainActivity -->
<intent-filter>
<!-- below line is to set the action to our intent to view -->
<action android:name="android.intent.action.VIEW" />
<!-- on below line we are adding a default category to our intent -->
<category android:name="android.intent.category.DEFAULT" />
<!-- on below line we are adding a category to make our app browsable -->
<category android:name="android.intent.category.BROWSABLE" />
<!-- on below line we are specifying the host name and
the scheme type from which we will be calling our app -->
<data
android:host="www.chaitanyamunje.com"
android:scheme="https" />
</intent-filter>
<!-- below is the same filter as above just the scheme is changed to http -->
<!-- so we can open our app with the url starting with https and http as well -->
<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:host="www.chaitanyamunje.com"
android:scheme="http" />
</intent-filter>
</activity>
</application>
MainActivity.kt
package me.paxana.deeplinktest
import android.net.Uri
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class MainActivity : AppCompatActivity() {
// creating a variable for our text view
private lateinit var messageTV: TextView
private var uri: Uri? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// initializing our variable
messageTV = findViewById(R.id.idTVMessage)
// getting the data from our intent in our uri.
uri = intent.data
// checking if the uri is null or not.
if (uri != null) {
// if the uri is not null then we are getting
// the path segments and storing it in list.
val parameters = uri!!.pathSegments
// after that we are extracting string
// from that parameters.
val param = parameters[parameters.size - 1]
// on below line we are setting that
// string to our text view which
// we got as params.
messageTV.text = param
}
}
}
The result of using the App Link Testing feature of android studio to load https://www.chaitanyamunje.com/hello/GeeksForGeeks
from Android deep linking not loading from browser, even from simple tutorial
No comments:
Post a Comment