正好Android SDK 给我们提供了解决方案,在网页中点击某个链接时,会匹配到Activity所配置的隐式Intent(配置在Manifest文件中)。
知道这个我们就好办了。
第一步:在Manifest文件中给TestActivity配置一个隐式Intent
第二步:这时,当在网页中点击链接<a href="testapp://test">Start TestActivity</a>就会启动TestActivity了。
那么问题又来了,怎么传递参数到TestActivity中呢?
我们知道显式Intent一般是用Intent.putExtra()来实现的,那么隐式Intent该如何实现呢?
同样的,还是通过这个链接传递,只是加上我们要传的参数。这时链接可以这么写:
<a href="testapp://test?id=100101&title=HelloAndroid">StartTestActivity</a>
我们可以在TestActivity来取得这两个参数:
这样就完美实现了隐式Intent的参数传递了。
最后提供一个Demo供大家学习:
原文链接:http://www.eoeandroid.com/thread-568674-1-1.html
知道这个我们就好办了。
第一步:在Manifest文件中给TestActivity配置一个隐式Intent
<activity android:name=".activity.TestActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="test"
android:scheme="testapp" />
</intent-filter>
</activity>
第二步:这时,当在网页中点击链接<a href="testapp://test">Start TestActivity</a>就会启动TestActivity了。
那么问题又来了,怎么传递参数到TestActivity中呢?
我们知道显式Intent一般是用Intent.putExtra()来实现的,那么隐式Intent该如何实现呢?
同样的,还是通过这个链接传递,只是加上我们要传的参数。这时链接可以这么写:
<a href="testapp://test?id=100101&title=HelloAndroid">StartTestActivity</a>
我们可以在TestActivity来取得这两个参数:
Uri uri = getIntent().getData();
Strinng id = uri.getQueryParameter("id");
Strinng title = uri.getQueryParameter("title");
这样就完美实现了隐式Intent的参数传递了。
最后提供一个Demo供大家学习:
原文链接:http://www.eoeandroid.com/thread-568674-1-1.html