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 ...
随机推荐
- 使用Gardener在Google Cloud Platform上创建Kubernetes集群
Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...
- Android(java)学习笔记2:继承Thread类创建线程类
1. 继承Thread类 创建线程类: package cn.itcast_02; /* * 该类要重写run()方法,为什么呢? * 不是类中的所有代码都需要被线程执行的. * 而这个时候,为了区分 ...
- 【洛谷2709】小B的询问(莫队模板题)
点此看题面 大致题意: 有一个长度为\(N\)的序列,每个数字在\(1\sim K\)之间,有\(M\)个询问,每个询问给你一个区间,让你求出\(\sum_{i=1}^K c(i)^2\),其中\(c ...
- [18/11/26] this关键字、static关键字和静态块(及语句块)
1.this关键字 this的本质就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表“当前对象” [用法] 1. 在程序中产生二义性之处 ...
- System.Chare的成员
实现效果: 知识运用: System.Char的静态方法 (判断一个给定的字符是否为数字 字母 标点符号或其他) 实现效果: static void CharFunctionality() { Con ...
- intelli j中如何重启tomcat,或者关掉tomcat?每次点run都提示jmx端口占用
方法1.idea有时候会这样,我一般都是直接打开任务管理器,把java进程给杀掉就好了.
- 使用Vue做评论+localStorage存储(js模块化)
未分模块化 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...
- JS JavaScript深拷贝、浅拷贝
浅拷贝:浅拷贝只是复制了内存地址,如果原地址中的对象改变了,浅拷贝出来的对象也会相应改变. 深拷贝:开辟了一块新的内存存放地址和地址指向的对象,原地址的任何对象改变了,深拷贝出来的对象不变. 浅拷贝数 ...
- CodePush自定义更新弹框及下载进度条
CodePush 热更新之自定义更新弹框及下载进度 先来几张弹框效果图 非强制更新场景 image 强制更新场景 image 更新包下载进度效果 image 核心代码 这里的热更新Modal框,是封装 ...
- Redis工具之Jedis
//jedis的连接池 public void test1(){ //创建连接池配置对象 JedisPoolConfig poolConfig = new JedisPoolConfig(); poo ...