android怎么写代码( 二 )


创建一个Intent的语法如下:Intent = new Intent(,) 对于你的应用程序,把第一个参数用DialIntent替换掉 。要获得第二个参数的数值,请参考Activity Action中的列表 。
(列表在文章中:什么是Intent) 。要呼叫拨号盘,你需要使用DIAL_ACTION Intent 。
要正确的呼叫Intent,使用Intent.DIAL_ACTION这个格式 。最后的参数,就是电话号码 。
DIAL_ACTION intent把号码作为一个URI 。因此,你需要使用Uri.parse来分析出电话号码 。
使用Uri.parse将确保DIAL_ACTION intent能够理解你试图拨打的号码 。你传递了一个Uri.parse的字符串来展示你要拨打的号码,在本例中是 "tel:5551212"。
为你项目创建的最后一个呼叫应该像这样:Intent DialIntent = new Intent(Intent.DIAL_ACTION,Uri.parse("tel:5551212"));提示 你使用记号 tel:来呼叫一个指定的电话号码 。你还可以使用voicemail来替代tel:呼出一个电话voicemail的快捷方式 。
Intent创建后,你现在必须告诉Android你想要拨号盘在新的活动中被启动 。要这样做,你使用setLaunchFlags()的Intent方法 。
你必须为启动来传递setLaunchFlags()合适的参数 。下面是可以设置接受启动旗帜的一组列表:注意在其它情况下,可能会有超过一个的旗帜被设置来完成希望的结果 。
● NO_HISTORY_LAUNCH 启动活动,不记录在系统启动历史中 ● SINGLE_TOP_LAUNCH 告诉系统不要启动活动,如果该活动已经在运行 ● NEW_TASK_LAUNCH 启动活动 ● MULTIPLE_TASK_LAUNCH 启动活动,即使它已经在运行了 ● FORWARD_RESULT_LAUNCH 允许新的活动来接受结果,这个结果通常被转递给现存的活动 。本例中,你要使用intent.NEW_TASK_LAUNCH,这样可以简单的让你打开一个新的拨号盘活动示例:DialIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); 创建拨号盘的最后一步是启动活动 。
(更精确的说,你告诉Android你有一个作为新任务来启动的拨号盘 。最终由Android来启动拨号盘活动) 。
要告诉Android你要启动拨号盘,你需要使用startActivity():startActivity(DialIntent); 请注意到你把intent传递到startActivity() 。这个Intent然后传递到Andriod,然后活动被执行 。
完整的AndroidPhoneDialer.java文件代码应当如下:package android_programmers_guide.AndroidPhoneDialer; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.net.Uri; public class AndroidPhoneDialer extends Activity { /** Called when the Activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); /** Create our Intent to call the Dialer */ /** Pass the Dialer the number 5551212 */ Intent DialIntent = new Intent(Intent.DIAL_ACTION,Uri.parse("tel:5551212")); /** Use NEW_TASK_LAUNCH to launch the Dialer Activity */ DialIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); /** Finally start the Activity */ startActivity(DialIntent); } } 你现在应当来编译AndroidPhoneDialer并且在模拟器中运行它 。处理编译和运行应用程序的过程在前面的章节中描述过了 。
你应当已经熟悉这些过程了 。一旦你运行应用程序,模拟器启动 。
在漫长的启动过程后,你的活动被启动 。提示 保持模拟器运行是一个好主意,即使你完成了你的活动并且以及返回到代码窗口 。
大多数人的本能习惯是在他们完成了测试活动后关闭模拟器 。但是,我发现使模拟器一直开启会帮助两个主要的问题 。
第一个就是启动模拟器要花费大量的时间 。保持模拟器开启会避开漫长的开启时间 。
第二,我已经注意到有好几次当我做一些小的修改到一个活动,而且它们没有被复制到模拟器 。保持模拟器开启似乎可以缓解这个问题 。