深层链接是最重要的功能之一,各种应用程序都使用深层链接以URL链接的形式在其应用程序内收集数据。因此,其他应用程序的用户轻松与其他应用程序共享数据将变得很有帮助。在本文中,我们将研究Android应用程序中深层链接的实现。
什么是深层链接?
深层链接是生成的URL链接,当任何人单击该链接时,我们的应用程序将打开并显示特定的活动或屏幕。使用此URL,我们可以将带有参数的消息发送到我们的应用程序。在WhatsApp中,我们可以生成一个深层链接,以将消息发送到其中包含某些消息的电话号码。深层链接用于通过URL链接打开应用程序的特定屏幕。
我们将在本文中构建什么?
我们将构建一个简单的应用程序,在其中创建一个深层链接,然后单击该链接,将消息传递给我们的应用程序,并在文本视图中显示该消息。下面提供了一个示例视频,以使您对我们在本文中将要做的事情有个大概的了解。注意,我们将使用Java语言实现该项目。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:使用activity_main.xml文件
导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。
XML
XML
XML
Java
package com.example.deeplinks;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;
public class MainActivity extends AppCompatActivity {
// creating a variable for our text view
private TextView messageTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
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 uri = getIntent().getData();
// 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.
List parameters = uri.getPathSegments();
// after that we are extracting string from that parameters.
String param = parameters.get(parameters.size() - 1);
// on below line we are setting
// that string to our text view
// which we got as params.
messageTV.setText(param);
}
}
}
步骤3:使用AndroidManifest.xml文件
导航至应用程序> AndroidManifest.xml,然后将以下代码添加到其中。在为MainActivity创建深层链接时。 Java文件,因此我们必须在MainActivity部分中添加此代码。以下是要添加到AndroidManifext.xml文件中的代码。在代码中添加了注释,以便更详细地了解。
XML格式
以下是AndroidManifest.xml文件的完整代码。
XML格式
步骤4:使用MainActivity。 Java文件
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
package com.example.deeplinks;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;
public class MainActivity extends AppCompatActivity {
// creating a variable for our text view
private TextView messageTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
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 uri = getIntent().getData();
// 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.
List parameters = uri.getPathSegments();
// after that we are extracting string from that parameters.
String param = parameters.get(parameters.size() - 1);
// on below line we are setting
// that string to our text view
// which we got as params.
messageTV.setText(param);
}
}
}
现在,我们在AndroidManifest文件中将URL添加为https://www.chaitanyamunje.com/hello/GeeksForGeeks 。 我们将通过其发送消息到MainActivity的URL。 Java文件。在上面的URL中,“ https”是我们的方案,“ www.chaitanyamunje.com”是我们的主机名,“ hello”是我们的第一个参数,“ GeeksForGeeks”是我们要在组织中显示在应用程序中的第二个参数名称。您可以根据需要更改参数。现在运行您的应用程序,并查看该应用程序的输出。
输出:
运行应用程序后,您将看到文本作为“组织名称”,现在关闭该应用程序,然后从安装应用程序的设备上单击上面显示的链接。单击该链接后,将显示一个弹出消息以选择应用程序。在该弹出消息中,选择您的应用程序,然后您的应用程序将打开。我们正在传递“ GeeksForGeeks”消息,该消息将显示在组织名称的位置。