意图可以调用活动,也常被用来调用内置应用程序,如加载web页面,拨号页面,内置地图应用等等。下面就用例子来说明该用法。

效果图如下:

实现代码如下:

上图中的启动MyBrowser是用意图来调用MyWebBrowserActivity活动外,其他三个都是在MainActivity类中直接通过new一个对应类型的Intent,然后通过startActivity()方法来调用内置程序。

MainActivity类代码:

package com.example.intents;

import com.example.intents.R;

import android.R.anim;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity { int request_code = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} public void onClickWebbrowser(View view){
Intent i = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://m.baidu.com/"));
startActivity(i);
}
public void onClickCall(View view){
// Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show();
// Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show();
// Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(android.content.Intent.ACTION_DIAL);
startActivity(intent);
}
public void onClickMap(View view){
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("geo:37.0,-122.0"));
startActivity(intent);
}
public void onClickLaunchMyBrowser(View view){
// Intent intent = new Intent("com.example.intents.MyBrowserActivity");
Intent intent = new Intent("android.intent.action.VIEW");
// Intent intent = new Intent("wrong");
intent.setData(Uri.parse("http://m.baidu.com"));
//startActivity(intent);
intent.addCategory("com.example.intents.apps");
startActivity(Intent.createChooser(intent, "Open URL using..."));
} }

MyBrowserActivity类代码:

public class MyBrowserActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_browser); Uri url = getIntent().getData();
WebView webView = (WebView)findViewById(R.id.WebBrowser1);
webView.setWebViewClient(new Callback());
webView.loadUrl(url.toString());
}
private class Callback extends WebViewClient{
public boolean shouldOverrideUrlLoading(WebView view,String url){
return false;
}
}

Android开发之使用意图调用内置应用程序的更多相关文章

  1. Android学习笔记(十七)——使用意图调用内置应用程序

    使用意图调用内置应用程序 1.创建一个新的Android项目并命名为Intents,在main.xml文件里加入两个Button: <Button android:id="@+id/b ...

  2. 使用Intent调用内置应用程序

    布局代码如下: <?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:and ...

  3. python函数基础:调用内置函数&定义函数

    调用内置函数 有很多内置函数,在使用中需要积累.这里只举两个例子: 分别调用abs和数据类型转换,注意当入参类型错误时候会报错 ''' print('abs(-100)') abs(-100) pri ...

  4. 如果您想确保Windows 10在新用户登录时不安装内置应用程序,则必须删除所有配置的应用程序。

    原文 如果您想确保Windows 10在新用户登录时不安装内置应用程序,则必须删除所有配置的应用程序. 本文的内容 已安装与配置的应用程序 删除配置的应用程序 安装与配置的应用程序^ 在介绍如何删除所 ...

  5. Android开发中内置apk程序

    首先申明,这里的方法介绍是针对我司自己项目中的具体开发板而做的. Mg701内置APK有三种方式 一.         这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考 ...

  6. Android通过意图使用内置的音频播放器

    假设实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的 ...

  7. 【Android】18.1 利用安卓内置的定位服务实现位置跟踪

    分类:C#.Android.VS2015: 创建日期:2016-03-04 一.安卓内置的定位服务简介 通常将各种不同的定位技术称为位置服务或定位服务.这种服务是通过电信运营商的无线电通信网络(如GS ...

  8. VS2019 开发Django(九)------内置模板和过滤器

    导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...

  9. angularjs开发常见问题-2(angularjs内置过滤器)

    在angular中内置了几个经常使用的filter,能够简化我们的操作. 过滤器使用 '|' 符号,概念有点相似于linux中的管道. 1.filter (过滤) filter能够依据条件过滤数据.样 ...

随机推荐

  1. 一个简单的DDraw应用程序2

    //------------------------------------------------------------------------- // 文件名 : 6_1.cpp// 创建者 : ...

  2. CRC算法及C实现

    一.CRC算法原理   CRC校验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校 验用的监督码(既CRC码)r位,并附在信息后边,构成一个新的二进制码序列数 ...

  3. relink:在Linux/UNIX平台上relink Oracle软件(转)

    当操作系统升级后.操作系统打完补丁后.安装完Oracle补丁之后和relink过程中出现问题时,都会用到relink方法来保证Oracle软件的正常使用.本文介绍一下relink方法的使用.   1. ...

  4. load dll

    Assembly myassembly = Assembly.LoadFrom("testdll.dll"); Type type = myassembly.GetType(&qu ...

  5. OnClientClick事件

    1.OnClientClick="return  validation()"   //注意return 2.//默认情况下返回true function validation() ...

  6. Centos环境下删除Oracle11g客户端文档

    将安装目录删除 [root@Oracle /root]# rm -rf /opt/oracle/ 将/usr/bin下的文件删除[root@Oracle /root]# rm /usr/local/b ...

  7. poj 1039 Pipe(几何基础)

    Pipe Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9932   Accepted: 3045 Description ...

  8. Hadoop之hive安装过程以及运行常见问题

    Hive简介 1.数据仓库工具 2.支持一种与Sql类似的语言HiveQL 3.可以看成是从Sql到MapReduce的映射器 4.提供shall.Jdbc/odbc.Thrift.Web等接口 Hi ...

  9. Linux趣谈

    要解释操作系统是如何工作的,首先可以用这几个关键字来简单地概括一下:冯诺依曼.堆栈机制和中断机制. 提到冯诺依曼很显然就是在说存储程序了,这大概是计算机能够运行最为基础的条件,属于基石级别的.它的基本 ...

  10. poj 3468 A Simple Problem with Integers【线段树区间修改】

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 79137   ...