意图可以调用活动,也常被用来调用内置应用程序,如加载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. 【bzoj 3299】 [USACO2011 Open]Corn Maze玉米迷宫(最短路)

    就一个最短路,并且边长都是1,所以每个点只搜一次. /************************************************************** Problem: 3 ...

  2. 【HDU 5456】 Matches Puzzle Game (数位DP)

    Matches Puzzle Game Problem Description As an exciting puzzle game for kids and girlfriends, the Mat ...

  3. RocketMQ在windows上安装和开发使用

    1.概述 RocketMQ是alibaba公司开源的一个纯java的开源消息中间件. 2.开发测试环境搭建 到github上面rocketMQ,我选择的是alibaba-rocketmq-3.2.6. ...

  4. [wikioi]没有上司的舞会

    树形DP.用F[k][0]和F[k][1]表示某节点不选和选了之后子树的最大值.那么:f[i][0]=sigma(max(f[k][0],f[k][1]))f[i][1]=sigma(f[k][0]) ...

  5. iOS设备下添加button的按下效果

    在触屏上, button的按下效果用:active触发, 但是我发现iOS设备上:active效果并没有生效. :active pseudo-class doesn't work in mobile ...

  6. ruby条件控制结构

    一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) ...

  7. perl unload gbk oracle 数据库

    perl unload gbk Oracle 数据库 use Encode; if ( $#ARGV < 0 ){ print "请输入一个文件\n"; exit(-1); ...

  8. 转:三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    转:http://blog.csdn.net/liujun13579/article/details/7773945 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件 ...

  9. Android应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  10. ♫【CSS】命名颜色

    color: aqua; 每个浏览器都支持一套它能识别且能正确渲染的命名颜色.这些颜色包括: aqua 浅绿色 #00ffffblack 黑色 #000000blue 蓝色 #0000fffuchsi ...