不知道是不是太简单了,官网上没有拍照的例子,网上搜了一圈。
拍照有两种方式,一是使用android.hardware.Camera,二是使用Intent("android.media.action.IMAGE_CAPTURE");
直接使用可以获取打开摄像头,聚焦,预览等事件,并做处理,稍微麻烦一点。用IMAGE_CAPTURE Intent 可以简单的获取拍照的结果,一张图片。
第一种方法 可以看一下 http://www.qqread.com/other-devtool/v472520.html
我用的第二种方法,API做得很傻瓜了。
配置文件,设置访问权限 AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" />
启动照相
try { Intent i = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER); } catch (Exception e) { Log.e(SimpleCameraActivity.class.getName(), e.getMessage()); }
Activity覆盖onActivityResult获取拍照结果,并显示在一个ImageView 中。
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { getWindow().setTitle("onActivityResult" + resultCode); super.onActivityResult(requestCode, resultCode, data); Bundle extras = data.getExtras(); Bitmap b = (Bitmap) extras.get("data"); ImageView img = new ImageView(this); img.setImageBitmap(b); setContentView(img); }
先了解一下API,后续怎么用再找资料吧。
要注意的问题:
在android2.2的AVD 上运行时,中间会报错"Sorry. the application Camera(process com.andoid.camera) has stopped unexpectedly. Please try again."
日志显示
07-01 17:26:42.338: ERROR/AndroidRuntime(452): java.lang.IllegalArgumentException: No configs match configSpec 07-01 17:26:42.338: ERROR/AndroidRuntime(452): at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:760) 07-01 17:26:42.338: ERROR/AndroidRuntime(452): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:916) 07-01 17:26:42.338: ERROR/AndroidRuntime(452): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1246) 07-01 17:26:42.338: ERROR/AndroidRuntime(452): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116) 07-01 17:26:42.688: WARN/ActivityManager(92): Force finishing activity com.android.camera/.Camera
1.5的模拟器没特意加摄像头支持,却不报错,只是提示要SD卡,加了卡的模拟就可以运行了。
另外官方文档 http://developer.android.com/guide/developing/tools/emulator.html
说不支持摄像头,但是用1.5的AVD 又可以运行,有点晕。
不清楚什么原因,明天找台2.2的手机装装试试。。。。
移动国家号(MCC)
定义
移动国家号(MCC)由三位十进制数组成,它表明移动用户(或系统)归属的国家。
格式
移动国家号(MCC)由三个十进制数组成,编码范围为十进制的000-999
传送
移动国家号用于国际移动用户识别(IMSI)中和位置区识别(LAI)中。
位置区识别(LAI)。位置区识别在每个小区广播的系统消息中周期发送,其中的移动国家号 (MCC)表示GSMPLMN所属的国家。移动台将收到的该信息作为网络选择的重要依据之一。
移动台的IMSI。移动台的IMSI中同样包含了移动国家号(MCC),它表示该移动用户所居 住的国家。当移动台在网络上登录或申请某种业务时,移动台必须将IMSI报告给网络(在不能使用TMSI的情况下)。网络则根据IMSI中的移动国家号 (MCC)来判断该用户是否为国际漫游用户。
设置及影响
作为全球唯一的国家识别标准,MCC的资源由国际电联(ITU)统一分配和管理。ITU建议书 E。212(兰皮书)规定了各国的MCC号码。中国的移动国家号为460(十进制)。 由于MCC的特殊意义,因此它在网络中一旦设定之后是不允许更改的。
手机联系人等信息同步中使用