手电筒App加载延迟

时间:2016-09-03 11:59:34

标签: android

我开发了一个简单的闪光灯。它在我的xperia中正常工作 但问题是,开始时需要一点延迟,并且在开始时显示白屏。 我怎么能解决它。这是代码,任何人都可以告诉我代码有什么问题吗?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MobileAds.initialize(getApplicationContext(), "...");
    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    imageButton = (ImageButton)findViewById(R.id.imageButton);

 if(getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
    {
            camera = Camera.open();
            parameters = camera.getParameters();
            isflash = true;

    }
    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final MediaPlayer sound = MediaPlayer.create(MainActivity.this,R.raw.clicks);
            sound.start();
            if(isflash)
            {
                if (!isOn)
                {
                    imageButton.setImageResource(R.drawable.on);
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(parameters);
                    camera.startPreview();
                    isOn = true;
                }
                else
                {
                    imageButton.setImageResource(R.drawable.off);
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                    camera.setParameters(parameters);
                    camera.stopPreview();
                    isOn = false;
                }
            }
            else
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("Error....");
                builder.setMessage("Flashlight is not support this device.....");
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                        dialogInterface.dismiss();
                        finish();
                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();

            }
        }
    });
}
@Override
protected void onStop() {
    super.onStop();
    if(camera!=null)
    {
        camera.release();
        camera = null;
    }
 }
}

0 个答案:

没有答案