Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面?
- Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910"));
- startActivity(intent);
- 添加权限:<uses-permission android:name="android.permission.CALL_PHONE">
2.在Android系统中监听来电有几种方式?
- 法1:广播接收器
- 法2:TelephoneManager对象
3.请给出访问通话记录的Content Provider URI?
- Uri.parse("content://call_log/calls")
4.如何调用系统短信?
- Intent sendIntent=new Intent(Intent.ACTION_SENDTO,Uri.parse("sms:12345678900"));
- sendIntent.putExtra("sms_body","你好吗?");
- startActivity(sendIntent);
5.请写出Android系统中直接发送短信的代码?
- SmsManager smsManager=SmsManager.getDefault();
- smsManager.sendTextMessage("12345678900",null,"你好吗?",null,null);
- 然后再配置权限:<uses-permission android:name="android.permission.SEND_SMS"/>
6.请写出访问彩信数据的Content Provider URI是什么?
- content://mms
7.请写出访问系统联系人的Content Provider URI,以及需要设置的权限?
- ContractsContract.AUTHORITY_URI
- 需要在清单文件中设置:<uses-permission android:name="android.permission.READ_CONTACTS">
8.如何播放res/raw目录中的音频?
- MediaPlayer mediaPlayer=MediaPlayer.create(this,R.raw.music);
- if(mediaPlayer!=null) mediaPlayer.stop();
- mediaPlayer.prepare();
- mediaPlayer.start()
9.如何录音?
- MediaRecorder mediaRecorder=new MediaRecorder();
- mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //指定音频来源
- mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); //指定音频输出格式
- mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //指定音频编码方式
- mediaRecorder.setOutputFile(recordAudioFile.getAbsolutePath()); //指定播放文件
- mediaRecorder.prepare();
- mediaRecorder.start();
10.Android SDK支持那几种播放视频的方式?
- 法1:VideoView
- 法2:SurfaceView+MediaPlayer
11.如何播放视频?
- videoView.setVideoURI(Uri.parse("file:///sdcard/video.3gp")); //指定要播放的视频文件
- videoView.setMediaController(new MediaController(this)); //设置视频播放器
- videoView.start();
12.如何使用SurfaceView播放视频?
- mediaPlayer=new MediaPlayer();
- mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
- mediaPlayer.setDisplay(surfaceView控件)
- mediaPlayer.setDataSource("文件路径");
- mediaPlayer.prepare();
- mediaPlayer.start();
13.SurfaceView和VideoView的区别?
- SurfaceView+MediaPlayer可以控制播放的位置和大小
14.如何调用系统拍照?
- Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- startActivityForResult(intent,1);
15.如何自定义拍照功能?
- 通过android.hardware.Camera类控制手机中的摄像头
16.如何设置来电铃声?
- 通过Intent实现
- new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtonManager.TYPE_RINGTONE);
- intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,"设置来电铃声");
- startActivityForResult(intent,1);
Android面试收集录 电话、短信和联系人、多媒体技术的更多相关文章
- Android面试收集录18 Android Context详解
Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言 ...
- Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...
- Android面试收集录1 Activity+Service
1.Activity的生命周期 1.1.首先查看一下Activity生命周期经典图片. 在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->on ...
- Android面试收集录6 事件分发机制
转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...
- Android面试收集录2 Broadcast Receiver详解
1.Broadcast Receiver广播接收器简单介绍 1.1.定义 Broadcast Receiver(广播接收器),属于Android四大组件之一 在Android开发中,Broadcast ...
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...
- Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...
- Android面试收集录 数据库
1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11 ==>从19开始,11个数据 2.如何才能将table ...
随机推荐
- python操作oracle小测试
首先使用python操作数据库需要导入cx_Oracle包import cx_Oracle这个包需要单独下载,下载地址:https://pypi.python.org/pypi/cx_Oracle使用 ...
- 恢复scout工具栏
删除scout安装路径 C:\PROGRAM FILES\SIEMENS\STEP7\U7UMC\DATA\WRKBNCH 下的三个文件: acppersi.dat uespersi.dat uesu ...
- linux内核编译与开发
一.Linux内核简介linux kernel map: linux 系统体系结构: linux kernel体系结构: arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RIN ...
- python创建项目
一.准备下载 python3.6.6 https://www.python.org/downloads/windows/(需要注意你的电脑是32位还是64位) mysql 5.1.72 https:/ ...
- 解决Could not get lock /var/cache/apt/archives/lock
在ubuntu apt-get upgrade的时候,遇到: E: Could not get lock /var/cache/ apt/archives/lock - open (11 Resour ...
- Pod常使用命令
pod 命令汇总 # 创建默认的 Podfile $ pod init # 第一次使用安装框架 $ pod install # 安装框架,不更新本地索引,速度快 $ pod install --no- ...
- Mac上传文件到Linux服务器
1. 打开 终端,选择 2.选择安全文件传输,输入连接主机IP 3.输入主机名 4.输入yes,然后输入主机密码,按回车结束 确认连接 输入远程主机密码 5.连接成功,上传文件 put 本地文件路径 ...
- (转)超级实用且不花哨的js代码大全
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcE ...
- CSS&JS定位器
一.CssSelector定位器 1.概述 CssSelector是效率很高的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因 ...
- ATK系列库说明
初衷 重构和复用是软件的一个古老话题. 在日常的软件项目开发的过程序中,如何保证团队代码的强健,同时在不断变化的需过程中最大限度的保障代码的一致性,是项目开发中的难以控制的,我们可以借助各种源码管理和 ...