• 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);
  • 相关阅读:
    .NET设计模式观察者模式(Observer Pattern)
    .NET设计模式建造者模式(Builder Pattern)
    .NET设计模式结构型模式专题总结
    MFC深入浅出MFC的进程和线程
    .NET设计模式享元模式(Flyweight Pattern)
    MFC深入浅出CObject类
    不足80行,一种清晰而又简单通用的分页算法,你有这么想过吗?C#版
    .net生成静态页方法总结
    仅IE9/10/(Opera)同时支持script元素的onload和onreadystatechange事件
    结果分类Ajax之三
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/8550480.html
Copyright © 2020-2023  润新知