📜  Android中的深层链接示例

📅  最后修改于: 2021-05-09 03:10:59             🧑  作者: Mango

深层链接是最重要的功能之一,各种应用程序都使用深层链接以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”消息,该消息将显示在组织名称的位置。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!