zoukankan      html  css  js  c++  java
  • Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)

    使用意图筛选器


    点击下载源代码


    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 {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.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 {
    		@Override
    		public boolean shouldOverrideUrlLoading(WebView view, String url) {
    			// TODO Auto-generated method stub
    			return false;
    		}
    	}
    }

    7、执行一下,效果例如以下:


    点击第三个button:


    点击第一个button:


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

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

    加入后的效果例如以下:


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


    附、使用createChooser()的优点:

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

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

  • 相关阅读:
    基于组的策略(GBP)开启新型网络设计时代
    49 多维数组(二维数组)
    48 查找
    47 排序
    46 字符数组和字符串
    45 数组应用
    44 数组
    43 C语言宏定义
    42 预处理命令
    41 函数封装练习
  • 原文地址:https://www.cnblogs.com/llguanli/p/6845361.html
Copyright © 2011-2022 走看看