热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android学习笔记(5)-Intent与权限,打电话的例子

完成了拨号功能,接下来要做呼叫功能!前面的例子中仅仅只是一个拨号,如果要打电话还要再按一下呼叫键,这个例子中主要是学习Intents及基于它的全新的应用编写方法。如前面的步骤一下,传一个CALL_AC

完成了拨号功能,接下来要做呼叫功能!

前面的例子中仅仅只是一个拨号,如果要打电话还要再按一下呼叫键,这个例子中主要是学习Intents及基于它的全新的应用编写方法。

如前面的步骤一下,传一个CALL_ACTIONIntent就可以完成呼叫了。代码如下:

Intent CallIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:7788250"));

startActivity(CallIntent);

运行一下,结果让人很蛋疼,

不仅报了个错,还错了不知道是什么东西的错,只是说出了异常,怎么后面的版本都不告诉咱这是哪错了?

还好这个问题早就是已知的了,是权限问题,总不能让是个应用程序就能乱打电话吧,这样估计用Android的人每月都能有一堆类似声讯电话的通话费了。

AndroidManifest.xml中加上这个节点,

需要注意的是在这个节点下。

      package="com.jjie"

      android:versiOnCode="1"

      android:versiOnName="1.0">

    

    

        

                  android:label="@string/app_name">

            

                

                

            

        

        

    

    

再运行一下:

成功的拨出了号码!

在这个例子中可以看出Android的一些Action需要给予一定的权限。这些都是关系到一些重要的业务。

大多数的Activity只要设置一个适当的权限就可以运行了,但有一些系统中,需要象证书一样要有个认证才能运行。下面举几个权限,需要的时候请去官方文档查找。

● ACCESS_ASSISTED_GPS 

● INTERNAL_SYSTEM_WINDOW

● ACCESS_CELL_ID 

● RAISED_THREAD_PRIORITY

● ACCESS_GPS 

● READ_CONTACTS

● ACCESS_LOCATION 

● READ_FRAME_BUFFER

● ACCESS_SURFACE_FLINGER 

● RECEIVE_BOOT_COMPLETED

● ADD_SYSTEM_SERVICE 

● RECEIVE_SMS

● BROADCAST_PACKAGE_REMOVED 

● RECEIVE_WAP_PUSH

● BROADCAST_STICKY 

● RUN_INSTRUMENTATION

● CALL_PHONE 

● SET_ACTIVITY_WATCHER

● CHANGE_COMPONENT_ENABLED_STATE

● SET_PREFERRED_APPLICATIONS

● DELETE_PACKAGES 

● SIGNAL_PERSISTENT_PROCESSES

● DUMP

● SYSTEM_ALERT_WINDOW

● FOTA_UPDATE 

● WRITE_CONTACTS

● GET_TASKS 

● WRITE_SETTINGS

● INSTALL_PACKAGES

通过权限与Intents的比较,可以发现大多数的Intent都可以找到相应的权限。

至此,虽然还没有什么象样的东西做出来,但其中最常用的一些已经在了。话说好的开端是成功的一半,对我们来说已经完成Android学习的一半,也度过了最难的时期了,接下来网上搜搜,API查查就完了。

接下来还有按钮,菜单,视图这些东西是一本入门书中必备的东西,随便看下就行了。


推荐阅读
  • IamcreatinganSMSApplicationtosendandreceiveSMS.我正在创建一个SMS应用程序来发送和接收SMS。Iamabletose ... [详细]
  • 两个方案:1通过android.permission.READ_PHONE_STATE读取2通过短信过滤,读取手机号。按照第1个方案,AndroidManifest.xml需要添加< ... [详细]
  • UMTS基础知识汇总
    协议框架23G接口UMTS实体EntityNameDescriptionAuCAuthenticationCenterCBCCellBroadcastCenterC-RNCCon ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 分享Android Studio 3.1.X中正确导入项目的方法
    AndroidStudio3.1.X中导入项目的正确方法分享-前言最近在使用AndroidStudio3.1.2导入以前的项目遇到一些坑,借此机会把相关处理方法分享出来。下面以导入 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 智能门禁系统是一种综合多种技术的多学科的电子技术集合,它涉及电子制造,机械设计,光学,计算机程序编程,通信原理,生物识别和统计学等诸多新技术领域。门禁系统通过识别方式可以分成三种:1.密码识别 ... [详细]
author-avatar
Florence珠宝定制
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有