我想有一个匿名广播接收人对网上通话的链接作出答复。 我认为,我可以这样做,而事情却不奏效。 我的活动守则如下:
public class WebViewReceiverActivity extends Activity {
private BroadcastReceiver mReceiver;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webView = (WebView) findViewById(R.id.webview);
webView.loadData("<a href="webview-receiver:///">This should Toast</a>", "text/html", "utf8");
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Uri data = intent.getData();
if (data != null && data.getScheme().equals("webview-receiver")) {
Toast.makeText(WebViewReceiverActivity.this, "Toasty", Toast.LENGTH_SHORT).show();
}
}
};
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_VIEW);
intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
intentFilter.addCategory(Intent.CATEGORY_BROWSABLE);
intentFilter.addDataScheme("webview-receiver");
registerReceiver(mReceiver, intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mReceiver);
}
}
这里的主要排位是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbarStyle="insideOverlay" />
</LinearLayout>
在点击网上电文中的链接时,我发现一页没有错误,没有发现任何图阿斯特。 这种做法是否可行? 我只想使用WebViewClient,而应当OverrideUrlLoading()的话,但如果我能找到广播接收人的办法,我更喜欢这样做。