Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源码)

来源:互联网 发布:cpi历年数据 编辑:程序博客网 时间:2024/05/22 13:27

使用意图筛选器


点击下载源码


1、创建一个Intents项目,给该项目添加一个新类,命名为MyBrowserActivity,在res/layout文件夹下新增一个browser.xml;

2、在AndroidManifest.xml文件中添加如下代码:

添加权限:

    <uses-permission android:name="android.permission.CALL_PHONE" />    <uses-permission android:name="android.permission.INTERNET" />
        <activity            android:name=".MyBrowserActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.VIEW" />                <action android:name="net.zenail.MyBrowser" />                <category android:name="android.intent.category.DEFAULT" />                <data android:scheme="http" />            </intent-filter>        </activity>

action:动作;category:类别;data:指明获取的数据类型。

3、在main.xml文件中添加三个Button:

    <Button        android:id="@+id/btn_webbrowser"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="onClickWebBrowser"        android:text="Web Browser" />    <Button        android:id="@+id/btn_makecalls"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="onClickMakeCalls"        android:text="Make Calls" />     <Button        android:id="@+id/btn_launchMyBrowser"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:onClick="onClickLaunchMyBrowser"        android:text="Launch My Browser" />

4、在IntentsActivity.java文件中添加三个Button对应的三个点击方法:

public void onClickWebBrowser(View v) {Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://网址"));//此处输入百度网址,CSDN不让加链接...//使用createChooser()的好处://1、将显示的选择对话框的标题改掉,且没有了Use by default for this action选项//2、当没有活动与程序的Intent对象匹配时,应用程序不会崩溃//startActivity(intent.createChooser(intent, "Open URL using..."));startActivity(intent);}public void onClickMakeCalls(View v) {Intent intent = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:+651234567"));startActivity(intent);}public void onClickLaunchMyBrowser(View v) {Intent intent = new Intent("net.zenail.MyBrowser");intent.setData(Uri.parse("http://网址"));//此处输入百度网址,CSDN不让加链接...startActivity(intent);}

5、在browser.xml中添加一个WebView:

    <WebView        android:id="@+id/WebView01"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />

6、在MyBrowserActivity.java文件中添加如下代码,实现浏览网页功能:

public class MyBrowserActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.browser);Uri url = getIntent().getData();WebView webView = (WebView) findViewById(R.id.WebView01);webView.setWebViewClient(new Callback());webView.loadUrl(url.toString());}private class Callback extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// TODO Auto-generated method stubreturn false;}}}

7、运行一下,效果如下:


点击第三个按钮:


点击第一个按钮:


若想完善意图筛选器,则在IntentsActivity.java的onClickWebBrowser()方法中添加createChooser()方法:

startActivity(intent.createChooser(intent, "Open URL using..."));

添加后的效果如下:


这时即可选择你想要选择的应用程序即可~


附、使用createChooser()的好处:

1、将显示的选择对话框的标题改掉,且没有了Use by default for this action选项;

2、当没有活动与程序的Intent对象匹配时,应用程序不会崩溃。

8 0
原创粉丝点击