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面试收集录 电话、短信和联系人、多媒体技术的更多相关文章

  1. Android面试收集录18 Android Context详解

    Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言 ...

  2. Android面试收集录 Android组件

    1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...

  3. Android面试收集录1 Activity+Service

    1.Activity的生命周期 1.1.首先查看一下Activity生命周期经典图片. 在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->on ...

  4. Android面试收集录6 事件分发机制

    转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...

  5. Android面试收集录2 Broadcast Receiver详解

    1.Broadcast Receiver广播接收器简单介绍 1.1.定义 Broadcast Receiver(广播接收器),属于Android四大组件之一 在Android开发中,Broadcast ...

  6. Android面试收集录 Android系统的资源+其他

    1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...

  7. Android面试收集录 2D绘图与动画技术

    1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...

  8. Android面试收集录 网络与加密

    1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...

  9. Android面试收集录 数据库

    1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11   ==>从19开始,11个数据 2.如何才能将table ...

随机推荐

  1. Excel-怎样实现行列转置

    有时候,我们为了某些需要,必须把工作表的行列进行转置的方式显示.重新输入很浪费时间,怎样简单的实现转置呢,强大的excel2007提供了此项功能,具体怎么做,下面看我来演示一下. 工具/原料   装有 ...

  2. Linux 网卡的解决方法

    1. 编辑70-persistent-net配置文件: # vi /etc/udev/rules.d/70-persistent-net.rules 如果没有就新建一个,添加如下内容: # PCI d ...

  3. The Tao to Excellent 2

    就算自己现在的技术水平很菜,就算自己现在写的代码还是很烂,但我们还是要一直坚持在最前线,一直向上,也许,在前方,就有不一样的风景在等着我们. 因为我深深明白到一件事:人之所以选择混吃等死,是因为他们根 ...

  4. 数据库-identifying 与non-identifying realtionship 区别

    MySQL Workbench 或者是 E-RWin等进行数据库建模时,通常会对数据表进行关联操作,即设置表与表之间的关系 1:1 1:n m:n,而它们具有 identifying realtion ...

  5. bootstrapTable refresh 方法使用简单举例

    本文就bootstrapTable refresh 方法如何传递参数做简单举例说明. 下面代码中,一个table,一个button,单击button会触发刷新表格操作. <!DOCTYPE ht ...

  6. Gym - 101334E 多叉树遍历

    题意:给定一个字符串,求有多少种树与之对应,对应方式是,每次遍历左节点,没有了,就回溯: 分析:d[i,j] = sum(d[i+1,k-1],d[k,j]) (str[i]==str[k]); 坑点 ...

  7. response.Close、response.End、response.Flush区别

    今天在做文件下载功能用到的是response的方法,首先我们要了解这些方法的作用. 1.response.write():将信息写入http响应输出流. 2.response.Flush:向客户端发送 ...

  8. 课时60.CSS的固定格式(掌握)

    CSS就是用来设置样式的,美化界面的 如何验证? 打开一个京东首页 删除掉css样式 发现页面变得非常难看 由此我们验证了一个说法,css就是用来美化界面的 1.格式: <style type= ...

  9. 一位90后程序员的自述:如何从年薪3w到30w

    ▌自我介绍 引用赵真老师的一首歌<过去不是错>中的一句话:过去不是过错,毕竟我们也开心过.过去不是过错,何必愧疚不知所措. 我们这一代人,我相信多少都会有人和我一样,坚持过一个游戏,叫 D ...

  10. sysdate 和 current_date 的区别

    在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别: 1. current_date返回的是当前会话时间,而sysdate返回的是服务器时间 ...