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);
既然选择了,便不顾风雨兼程。Just follow yourself.