`
bk_lin
  • 浏览: 338973 次
社区版块
存档分类
最新评论

Android开发从入门到精通

阅读更多

 

从你的活动中打出电话 第七章(4)

  在本节中你将会学到呼叫拨号盘时增加什么样的Intent。你还会学到在活动代码中的哪一个地方增加选择的Intent。另外,你将学习如何分析一个作为URI的电话号码。从拨号盘活动代码变成呼叫活动你需要更改一些代码。在本节中,你回去编辑AndroidPhoneDialer活动,在打开拨号盘后,来打一个电话。

    在活动中增加一个Intent,你还是需要Intent和Uri包装,所以,在AndroidPhoneDialer.java的文件头部保留这一部分。

import android.content.Intent; 
import android.net.Uri;

    这些包装将确保你不仅需要intent而且同样会传递需要的电话号码数据到Intent中(用Uri包装)。

提示

如果你不按照顺序匆匆看完这个章节,而且没有运作前一节实际的项目,那么就简单的创建一个新的项目,命名为AndroidPhoneDialer,然后增加前面提到的两个包装进去。这样会赶上进度。

    现在看看在本章早些时候表格7-1中可以使用的Activity Action Intents。你真正需要的是CALL_ACTION。很多的时候DIAL_ACTION打开Andriod拨号盘,CALL_ACTION将会启动电话的呼叫过程并且开始呼叫提供的号码。

    要创建Intent,使用和创建拨号盘同样的程序,只是这次使用CALL_ACTION:

Intent CallIntent = new 
Intent(Intent.CALL_ACTION,Uri.parse("tel:5551212"));

请注意你使用Uri.parse来传递一个正确的电话号码到活动中。下一步是告诉Android你要把这个活动设为启动,并且启动它。使用下面的两行代码来实现:

CallIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); 
startActivity(CallIntent);

    在第一行,你发送启动旗帜到NEW_TASK_LAUNCH。这个会启动一个呼叫的新示例。最后,你告诉Android使用你的Intent启动活动。当结束时,你的AndroidPhoneDialer.java文件应当如下:

package android_programmers_guide.AndroidPhoneDialer; 
import android.app.Activity; 
Chapter 7: Using Intents and the Phone Dialer 129 
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 device's Call Activity */ 
/** Pass the Call the number 5551212 */ 
Intent CallIntent = new 
Intent(Intent.CALL_ACTION,Uri.parse("tel:5551212")); 
/** Use NEW_TASK_LAUNCH to launch the Call Activity */ 
CallIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); 
/** Finally start the Activity */ 
startActivity(CallIntent); 

编译这个应用程序并且观察结果,你应当看到如下类似的错误信息。我实际上有意的要你看看这个错误,因为它展示了我们还没有发现的Android的另一面,错误的文本如下: 

Application_Error: 
… 
Java.lang.SecurityException: 
Permission Denial: starting Intent 


Android通过要求许可被执行来准许恰当的行动,在下一节叙述。

编辑活动许可

 

更多信息请查看 http://www.javady.com/index.php/category/thread

分享到:
评论

相关推荐

    Android开发从入门到精通【视频教程+课程源码】.rar

    在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...

    Android开发从入门到精通_android_

    《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...

    android开发从入门到精通光盘源代码

    "Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...

    [Android开发从入门到精通].扶松柏.扫描版.pdf

    从给定的文件信息来看,这是一本名为《Android开发从入门到精通》的书籍,作者为扶松柏,版本为扫描版。虽然标签部分似乎有些混乱,将本书标记为"C++经典书籍",但根据标题和描述,我们可以确定这实际上是一本关于...

    Android开发从入门到精通.pdf

    《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....

    Android 开发从入门到精通

    #### Android开发入门:初探与实践 ##### Android开发简介 Android不仅是一个移动平台,更是集成了移动、无线、计算机及通信技术的综合性平台。借助于Android Eclipse插件,开发者能够在Eclipse环境中高效构建...

Global site tag (gtag.js) - Google Analytics