首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flashlight Android应用程序方向不正确

Flashlight Android应用程序方向不正确
EN

Stack Overflow用户
提问于 2017-02-22 01:38:24
回答 1查看 70关注 0票数 0

我正在创建闪光安卓App..and面对下面的problem..Please指南我...当我在纵向模式下按下按钮时,闪光灯亮起,当我旋转到横向模式时,闪光灯熄灭。

代码语言:javascript
复制
 ImageButton imagebuttonon, imagebuttonoff;
    public static Camera cmr;
    Camera.Parameters parameters;

    boolean isFlash = false;
    boolean isOn = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imagebuttonoff = (ImageButton) findViewById(R.id.imagebuttonoff);
        if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))

        {

            cmr = Camera.open();
            parameters = cmr.getParameters();
            isFlash = true;

        }




        imagebuttonoff.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isFlash)

                {


                    //if flash light is not on
                    if (!isOn) {

                        imagebuttonoff.setImageResource(R.drawable.onswitch); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                        cmr.setParameters(parameters);
                        cmr.startPreview();
                        isOn = true;


                    } else {
                        imagebuttonoff.setImageResource(R.drawable.offswitch);
                        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                        cmr.setParameters(parameters);
                        cmr.stopPreview();
                        isOn = false;
                    }
                } else { 

                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("Error");  
                    builder.setMessage("Flash light not available"); 
                    builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss(); 
                            finish();
                        }
                    });


                    AlertDialog alertDialog = builder.create(); 
                    alertDialog.show();

                }

            }
        });


    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    @Override
    protected void onPause() {
        super.onPause();

             cmr.stopPreview();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
    }

    @Override
    protected void onResume() {
        super.onResume();

               if (isOn)
            cmr.startPreview();
    }

    @Override
    protected void onStart() {
        super.onStart();
               cmr.startPreview();
    }


    @Override
    protected void onStop() { 
        super.onStop();
        if (cmr != null)

            cmr.release();
        cmr = null;

    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.getBoolean("mode", false);
        super.onSaveInstanceState(outState);
           }
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
               super.onRestoreInstanceState(savedInstanceState);


    }

}
EN

回答 1

Stack Overflow用户

发布于 2017-02-26 22:04:22

我有一个解决方案,这也将有助于其他谁有兴趣创建一个闪光灯安卓应用程序,如described on my blog

我只是在Manifest.xml文件中输入了这些行。

代码语言:javascript
复制
<activity android:name=".MainActivity" android:configChanges="orientation|screenSize">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42374228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档