我需要使用链接(包含一些参数)从电子邮件启动应用程序 http://www.this-so-does-not-exist.com/something
我可以在使用intent-filter中的以下单击一个简单的电子邮件后启动我的应用程序。
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="www.this-so-does-not-exist.com/something"
android:scheme="http"/>
</intent-filter>
现在我想传递一些信息以及电子邮件链接等 http://www.this-so-does-not-exist.com/something?id=4545
我如何从我的Android应用程序中读取此内容。
任何帮助将不胜感激。提前致谢。
答案 0 :(得分:0)
getIntent().getData()
的 Activity
将为您提供用于启动应用的Uri
。查询参数可通过Uri
,such as getQueryParameter()
上的各种方法获得。
答案 1 :(得分:0)
Taken from this answer,我们得到意图字符串,然后解析URL如下。
if(getIntent() != null){
String url = getIntent().getDataString(); // should be http://www.this-so-does-not-exist.com/something?id=4545
List<NameValuePair> parameters = URLEncodedUtils.parse(new URI(url));
for (NameValuePair p : parameters) {
Log.i("MyApp", "Parameter Name: " + p.getName() + ", Parameter Value: " + p.getValue();
}
}
使用此功能,您可以根据需要为URL添加任意数量的参数,并轻松检索它们以供使用。