当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » Java  » 手机App开发
墨龙

android平台手电筒开发源代码

墨龙 发布于 2013年01月07日 11时, 23评/34807阅
分享到: 
收藏 +0
2
android平台手电筒开发源代码,AndroidManifest.xml文件的入口是startapp,这个文件没上传上来,大家可以自己写。
标签: Android

代码片段(3) [全屏查看所有代码]

1. [代码]android     跳至 [1] [2] [3] [全屏预览]

/**
 * name   : 手电筒主界面
 * author : ycgpp@126.com
 * date    : 2012-12-21 15:50:17
 */
package com.android.app;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends Activity {

	private boolean isopent = false;
	private Camera camera;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		View view = View.inflate(this, R.layout.main, null);
		setContentView(view);
		TextView img_but = (TextView) findViewById(R.id.main_img);

		img_but.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if (!isopent) {
					Toast.makeText(getApplicationContext(), "您已经打开了手电筒", 0)
							.show();
					camera = Camera.open();
					Parameters params = camera.getParameters();
					params.setFlashMode(Parameters.FLASH_MODE_TORCH);
					camera.setParameters(params);
					camera.startPreview(); // 开始亮灯

					isopent = true;
				} else {
					Toast.makeText(getApplicationContext(), "关闭了手电筒",
							Toast.LENGTH_SHORT).show();
					camera.stopPreview(); // 关掉亮灯
					camera.release(); // 关掉照相机
					isopent = false;
				}
			}
		});
	}

}

2. [代码]布局文件代码     跳至 [1] [2] [3] [全屏预览]

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/main_img"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:background="@drawable/main_body">
    </TextView>

</LinearLayout>

3. [代码]AndroidManifest.xml文件     跳至 [1] [2] [3] [全屏预览]

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.app"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity android:name=".AppStart" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Main" >
        </activity>
    </application>
    <!-- 摄像头、手电筒 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature android:name="android.hardware.camera.flash" />

</manifest>


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(23)

  • 1楼:潇洒小李子 发表于 2013-01-08 08:53 回复此评论
    很好,自己开发,就不用忍受那些烦人的广告啦
  • 2楼:福州软件园小菜鸟 发表于 2013-01-08 16:03 回复此评论
    .....不是有自带的吗 没广告啊 
  • 3楼:钟浩 发表于 2013-01-09 09:22 回复此评论
    主界面关掉或者屏幕黑了,手电筒就会关吧?上次我写了个,最后想想,还是把它写在服务里了。
  • 4楼:vvtf 发表于 2013-01-14 10:39 回复此评论
    我没理解手电筒在此的概念。。。。
  • 5楼:hawkyoung 发表于 2013-01-14 16:58 回复此评论
    小米自带的都有一个问题,就是开一段灯会被关掉,我的理解是被系统回收了,或者硬件驱动有保护机制?
  • 6楼:墨龙 发表于 2013-01-14 17:56 回复此评论

    引用来自“钟浩”的评论

    主界面关掉或者屏幕黑了,手电筒就会关吧?上次我写了个,最后想想,还是把它写在服务里了。
    没发现这个情况,黑屏了,灯照样亮啊,估计是和硬件也有点关系
  • 7楼:墨龙 发表于 2013-01-14 17:57 回复此评论

    引用来自“福州软件园”的评论

    .....不是有自带的吗 没广告啊 
    自带的不是每个rom都有,很多都没有自带手电筒
  • 8楼:追风随云2008 发表于 2013-01-17 09:12 回复此评论
    学习,学习
  • 9楼:钟浩 发表于 2013-01-18 13:11 回复此评论

    引用来自“墨龙”的评论

    引用来自“钟浩”的评论

    主界面关掉或者屏幕黑了,手电筒就会关吧?上次我写了个,最后想想,还是把它写在服务里了。
    没发现这个情况,黑屏了,灯照样亮啊,估计是和硬件也有点关系
    也许吧,现在我用着的这个深度4.1的包里自带的手电,屏黑了,返回主菜单了。都关了。最后还是用回了自己写的那个。。
  • 10楼:子旺 发表于 2013-02-21 21:55 回复此评论

    引用来自“rouyh”的评论

    我没理解手电筒在此的概念。。。。
    应该是指 闪光灯、
  • 11楼:sun-jun 发表于 2013-03-12 16:29 回复此评论
    bucuoa
  • 12楼:江南小胖子 发表于 2013-03-31 10:55 回复此评论
    自己开发的没广告不要联网,而且也挺简单的
  • 13楼:氧气O2 发表于 2013-04-08 16:36 回复此评论
    把代码执行了一次,不行啊,,什么问题??
  • 14楼:盐巴2012 发表于 2013-05-27 11:54 回复此评论
    为什么我的代码在一台手机上正常的,另外一台手机不正常呢?不正常的手机运行其他的电筒程序是ok的
  • 15楼:盐巴2012 发表于 2013-05-29 15:59 回复此评论
    package com.example.light;


    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.widget.Button;
    import android.widget.TextView;


    public class MainActivity extends Activity {
    private boolean isOpen = false;
    private Camera mCamera;
    private TextView tv;
    private Button btn;



        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            btn = (Button) findViewById(R.id.btn_switch);
            tv = (TextView) findViewById(R.id.txt_show);
            
            btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    if(!isOpen){
    mCamera = Camera.open();
    Camera.Parameters p = mCamera.getParameters();
    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
    mCamera.setParameters(p);
    mCamera.startPreview();
    isOpen = true;
    tv.setText("电筒已经开启");
    }else{
    Camera.Parameters p = mCamera.getParameters();
    p.setFlashMode(Parameters.FLASH_MODE_OFF);
    mCamera.setParameters(p);
    mCamera.stopPreview();
    mCamera.release();
    isOpen = false;
    tv.setText("电筒已经关闭");
    }

    }
    });
        }


        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    }
    我这样写为什么闪光灯不亮呢?
  • 16楼:飞飞飞飞飞天猪 发表于 2013-08-23 11:57 回复此评论
    为什么我的不亮?
  • 17楼:氧气O2 发表于 2013-09-29 16:30 回复此评论
    我發現MOTO手機 都不能亮
  • 18楼:氧气O2 发表于 2013-09-29 16:30 回复此评论
    LZ解釋一下啊。
  • 19楼:LiuWei 发表于 2013-11-14 15:04 回复此评论
    楼主这种打开手电筒的方式,不完美,在一些手机上是打不开闪光灯的,必须通过surfaceview启动相机层预览,然后再打开手电筒才可以。 

  • 20楼:hanyu83 发表于 2013-11-19 15:43 回复此评论
    这种打开手电筒的方式并不适用所有手机,请问其他型号的手机如何调用?
开源从代码分享开始 分享代码
墨龙的其它代码 全部(3)...