我们已经了解了如何在自己的单个应用中调用activity。但是,
Android开发中比较重要的一点,就是使用intent调用其他应用的activity。特别地,你的应用可以调用系统中的许多“内置”应用。所谓的“内置”应用,指的就是系同级别的应用,比如Browser,Phone,Sms等等。举个例子,如果你的应用需要打开一个网页,可以使用Intent对象去调用浏览器,浏览器把网页显示出来,而不是要自己创建一个浏览器。。。
下面的例子展示如何调用系统中的几个比较常用的“内置”应用。
1.创建一个叫Intents的工程。
工程目录:
2.main.xml中的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:
Android="http://schemas.
Android.com/apk/res/
Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical" >
<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_showMap"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:onClick="onClickShowMap"
Android:text="Show Map" />
<Button
Android:id="@+id/btn_launchMyBrowser"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:onClick="onClickLaunchMyBrowser"
Android:text="Launch My Browser" />
</LinearLayout>
3.IntentsActivity.
java中的代码。package net.learn2develop.Intents;
import
Android.app.Activity;
import
Android.content.Intent;
import
Android.net.Uri;
import
Android.os.Bundle;
import
Android.view.View;
public class IntentsActivity extends Activity {
int request_Code = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClickWebBrowser(View view) {
Intent i = new Intent("
Android.intent.action.VIEW");
i.setData(Uri.parse("http://www.amazon.com"));
startActivity(i);
}
public void onClickMakeCalls(View view) {
Intent i = new Intent(
Android.content.Intent.ACTION_DIAL,
Uri.parse("tel:+651234567"));
startActivity(i);
}
public void onClickShowMap(View view) {
Intent i = new Intent(
Android.content.Intent.ACTION_VIEW,
Uri.parse("geo:37.827500,-122.481670"));
startActivity(i);
}
}
4.调试。
效果图:
程序启动之后:
点击WebBrowser按钮:
点击MakeCalls按钮:
作者 manoel的专栏