android – 从浏览器链接获取意图数据到应用程序

我已经定义了一个intent过滤器来监听我的应用程序中的自定义方案,但我还必须将数据发送到我的应用程序,以便我可以采取相应的行动.

我想要完成的任务 – 发送一个链接用户(在浏览器中),他点击它,并将他带到我的应用程序,它将根据他点击的URL将一些数据添加数据库.

解决方法

您需要将此数据嵌入到附加到URI方案的路径中.假设您使用myapp的自定义方案使用以下intent过滤器设置Activity:
<intent-filter>
    <data android:scheme="myapp" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.broWSABLE" />
</intent-filter>

现在,创建一个链接,并以查询参数的形式将所需的所有数据附加到URI方案:

myapp://open?custom_param1=val1

然后,在onCreate中,您可以解析intent

Uri data = this.getIntent().getData();
if (data != null && data.isHierarchical() && activity != null) {
    if (data.getQueryParameter("custom_param1") != null) {
        String param1 = data.getQueryParameter("custom_param1");
        // do some stuff
    }
}

或者您可以使用像Branch这样的服务,它允许您将JSON格式的无限数据捆绑到链接中,该链接链接点击和应用程序打开时检索.它使这个过程更容易.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...