使用意图筛选器

点击下载源代码

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:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVuYWlsNTAxMTI5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

点击第一个button:

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

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

加入后的效果例如以下:

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

附、使用createChooser()的优点:

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

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

最新文章

  1. cocos2dx day 2 - Sprites
  2. dynamic-load-apk插件原理整理
  3. 手工创建tomcat应用,以及实现js读取本地文件内容
  4. php反射应用实例代码
  5. Ⅷ.spring的点点滴滴--抽象对象和子对象
  6. UVa 3704 Cellular Automaton(矩乘)
  7. HTML&amp;CSS基础学习笔记1.33-元素选择器
  8. MLlib-协同过滤
  9. C++ Primer 5th 第7章 类
  10. 【模板小程序】链表排序(qsort/insert_sort/merge_sort)
  11. 详解URL的组成
  12. kali linux 网络渗透测试学习笔记(一)Nmap工具进行端口扫描
  13. Mysql 5.7--ubuntu18.04 安装过程及遇到的问题
  14. 如何快速开发html5跨平台K12/幼儿交互课件、动画课件、交互游戏
  15. Vue系列之 =&gt; 结合ajax完成列表增删查
  16. .Net Core WebApi控制器接收原始请求正文内容
  17. android 调用系统照相机拍照后保存到系统相册,在系统图库中能看到
  18. 【Nodejs】使用request批量下载MP3,文件数量内容都没问题
  19. java 递归
  20. Vue.js使用v-show和v-if的注意事项

热门文章

  1. iOS开发笔记--UILabel的相关属性设置
  2. Swift 3:新的访问控制fileprivate和open
  3. Spring Boot 配置大全
  4. sublime text3 cssrem 快速px转rem插件
  5. web服务器部署
  6. wpf GridControl selectAll UnSelect
  7. es6 export、import
  8. 两种const函数
  9. 网络入侵检测规避工具fragrouter
  10. luogu P1140 相似基因