android闪关灯的开启和关闭方法代码实例
2016-03-14 10:28
573 查看
(转载)
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了android闪关灯的开启和关闭方法代码实例,本文直接给出代码和配置实例,需要的朋友可以参考下
1、activity_main.xml 两个按钮,一个open一个close
2、MainActivity 核心代码
3、AndroidManifest.xml 加入摄像头和闪关灯的权限
//-------------------------------------------------------------------------------------------------------------
总结:这里的这部分代码写的有些问题:
最好改为,因为当跳转到其他页面的时候,由于Camera是一种资源,当其他页面要用到的时候就可能出现问题,
改成的代码如下:
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了android闪关灯的开启和关闭方法代码实例,本文直接给出代码和配置实例,需要的朋友可以参考下
1、activity_main.xml 两个按钮,一个open一个close
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button_open" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="38dp" android:text="open" /> <Button android:id="@+id/button_close" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button_open" android:layout_below="@+id/button_open" android:layout_marginTop="50dp" android:text="close" /> </RelativeLayout>
2、MainActivity 核心代码
package com.qiantu.flashlight; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Camera camera; private Button openBtn; private Button closeBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); openBtn = (Button) findViewById(R.id.button_open); openBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (null != camera) { Parameters parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); camera.setParameters(parameters); } } }); closeBtn = (Button) findViewById(R.id.button_close); closeBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (null != camera) { Parameters parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_OFF); camera.setParameters(parameters); } } }); } @Override protected void onStart() { super.onStart(); camera = Camera.open(); } @Override protected void onDestroy() { super.onDestroy(); if (null != camera) { camera.release(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
3、AndroidManifest.xml 加入摄像头和闪关灯的权限
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.qiantu.flashlight" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <!-- 添加的部分 --> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.autofocus" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <!-- end --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.qiantu.flashlight.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
//-------------------------------------------------------------------------------------------------------------
总结:这里的这部分代码写的有些问题:
@Override protected void onDestroy() { super.onDestroy(); if (null != camera) { camera.release(); } }
最好改为,因为当跳转到其他页面的时候,由于Camera是一种资源,当其他页面要用到的时候就可能出现问题,
改成的代码如下:
@Override protected void onPause() { super.onPause(); if (null != camera) { camera.release(); } }
相关文章推荐
- Gradle依赖的统一管理
- Android设备抓包命令
- Android中JNI起源及存在的必要性
- Android Studio中导入第三方库工程的方法
- Android 6.0 Permission权限与安全机制
- 修改Android系统目录的读写权限命令
- Android IPC机制之Messenger
- Android二维码ZXing扫描区域大小的调整,提高扫描速度
- android--textview实现文字伪自适应
- Android Studio下解决图片profile错误的方法
- Android实现歌词渐变色和进度的效果
- android 页面跳转生命周期
- Android动画原理
- Mac系统下利用ADB命令连接android手机并进行文件操作
- android退出系统
- Android内存优化杂谈
- Android如何避免OOM总结
- 关于即时通讯的一点记录
- Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupported major.minor version
- 从源码角度分析android事件分发处理机制