发布网友 发布时间:2022-04-23 08:57
共1个回答
热心网友 时间:2022-06-18 17:24
新建一个工程A,并实现一个Activity,用来接收外部的跳转。代码如下:
public class JumpActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String data = intent.getDataString();
System.out.println(data);
}
}
在这个Activity里,我们可以通过getIntent(),来获取外部跳转传过来的信息。
修改ManiFest文件,设置Activity的接收Action的属性,代码如下:
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="data"
android:scheme="sharetest" />
</intent-filter>
如上所示,在data里设置了 scheme和host,则该Activity可以接收和处理类似于 "sharetest://data/XXX"的链接。
接下来我们可以写一个测试工程B,看看工程A中的JumpActivity是否可以接收和处理类似于 "sharetest://data/XXX"的链接。因此,新建一个工程B,工程里只有一个WebView,用来打开一个本地的网页。由于WebView在接收到自己不能处理的Uri时,会自动的调用发送Intent来调用能够处理该Uri的应用。
以下是网页的代码:
<!DOCTYPE html>
<html>
<body>
<iframe src="sharetest://data/123" style="display:none"></iframe>
</body>
</html>