使用新方案,您可以将参数作为附加参数传递给应用程序,但您必须对 URI 进行如下编码:
<a href="intent://whatever/#Intent;scheme=myapp;package=com.what.ever.myapp;S.myextra=mystring;end">Do Whatever</a>
这将传递一个名为“myextra”的额外字符串,其值为“mystring”。查看Android 代码,我们可以看到额外的参数需要如何编码。“myextra”参数开头的“ S ”将其定义为字符串。其他类型可以是:
String => 'S'
Boolean =>'B'
Byte => 'b'
Character => 'c'
Double => 'd'
Float => 'f'
Integer => 'i'
Long => 'l'
Short => 's'
例如,如果我们想传递两个额外的参数,一个 Integer 和一个 String,我们可以这样做:
<a href="intent://whatever/#Intent;scheme=myapp;package=com.what.ever.myapp;S.name=Perico%20de%20los%20Palotes;i.age=35;end">Do Whatever</a>
请注意,您需要对所有参数进行 url 编码。
在您的 Android 应用中,您需要接受这些附加功能。在 Activity 的“onCreate”事件中:
Bundle parametros = getIntent().getExtras();
if (extras != null){
String name = extras.getString("name");
Integer age = extras.getInt("age");
if (name!=null && age!=null)
{
//do whatever you have to
//...
}
}else{
//no extras, get over it!!
}
当然,在清单中添加过滤器android.intent.category.BROWSABLE ,如链接所示。