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 ...
随机推荐
- HDU 3336 KMP
题意:求每一个前缀,跟前缀相同的每个子串. 此题:网上很多都是假程序,不过也AC了,的确我测试几个案例之后的的确确是存在这个问题. 分析:每一个前缀,可以考虑KMP,f失配指针,如何求得它出现了多少次 ...
- LA 3126 出租车
题目链接:https://vjudge.net/problem/UVALive-3126 题意:有m个客人,位于不同的位置,去一些地方,出发的时间给出,要一些出租车去接,但是,每辆出租车要在出发前一分 ...
- 课堂练习:HTML-----------一般标签、常用标签
[]练习:一般标签.常用标签 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- 简单使用Idea创建三层架构项目和数据库连接(使用原生ajax进行访问+ajax)
Idea创建三层架构项目 首先创建一个Web项目model 创建Web完成后进行创建entity.dao.service 特别注意 根据上面的步骤进行创建即可得到 创建完成 我们首先创建数据库 cre ...
- 【luogu P1262 间谍网络】 题解
题目链接:https://www.luogu.org/problemnew/show/P1262 注意: 1.缩点时计算出入度是在缩完点的图上用color计算.不要在原来的点上计算. 2.枚举出入度时 ...
- java循环作业0912
题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? double a = 0.08; double h =0; int i=0; for(i=1;h&l ...
- C# String与StringBuilder (转载)
1.什么时候用String?什么时候用StringBuilder? 字符串一旦创建就不可修改大小,所以对字符串添加或删除操作比较频繁的话.那就不要用String而用StringBuilder. 例如: ...
- C#基础 一(方法详解)
需要知道:类和方法的关系 方法和参数修饰符 自定义方法可以有或没有参数,也可以有或没有返回值.可以被各种关键字(static.virtual.public.new等)修饰以限制其行为. C#参数修饰符 ...
- 菜鸟崛起 DB Chapter 3 MySQL 5.6的基本操作
3 MySQL的基本操作 上面我们学习一如何安装数据库,那么这节我们来认识一下数据库: 我们在MySQL安装后,在data目录下会自动生成几个必须的数据库,可以使用SHOW DATABASES语句 ...
- iOS 获取APP的CPU、内存等信息
目标是开发一个SDK,嵌入到APP里面,用来统计当前APP的实时CPU.内存等信息 2015.11.17 http://stackoverflow.com/questions/12889422/ios ...