【问题标题】:Not Working Properly Orientation of Flashlight Android Application手电筒Android应用程序的方向不正确
【发布时间】:2017-02-21 17:38:23
【问题描述】:

我正在创建 Flashlight Android 应用程序..并面临以下问题..请指导我... 当我在肖像模式下按下按钮时闪光灯会亮起,当我旋转到横向模式时闪光灯会熄灭..

 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);


    }

}

【问题讨论】:

    标签: android android-layout flashlight


    【解决方案1】:

    我有一个解决方案,这也将有助于其他有兴趣创建 Flashlight Android 应用程序的人,如described on my blog

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

    <activity android:name=".MainActivity" android:configChanges="orientation|screenSize">
    

    【讨论】:

    • 记得直截了当地说,如果您链​​接到的东西归您所有。如果你不这样做,那就是垃圾邮件。
    • 请注意,如果您想宣传自己的产品/博客,您必须披露您的隶属关系,否则您的回答可能会被标记为垃圾邮件。请阅读How to not be a spammer
    • 我已经编辑了您的答案,以明确表明您的博客是……好吧,您的博客,这是网站规则所要求的。以后请自己做;如果您不这样做,它将被视为垃圾邮件,并且我们会为此受到严厉的处罚。
    猜你喜欢
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多