Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的照相机不能正常工作_Android - Fatal编程技术网

Android 我的照相机不能正常工作

Android 我的照相机不能正常工作,android,Android,下面是我的代码,当我点击K on按钮时,它将打开相机,只有一张图像将存储在该位置,但不会显示在imageview中。 我的logcat将是。请解决我的问题 Before IntentIntent Created Creating URI Stuff.... Directory creation IMG_ONE created... 0 Before Intent Intent Created Creating URI Stuff.... Directory creation IMG_O

下面是我的代码,当我点击K on按钮时,它将打开相机,只有一张图像将存储在该位置,但不会显示在imageview中。 我的logcat将是。请解决我的问题

Before
IntentIntent 
Created
Creating URI Stuff....
Directory creation
IMG_ONE created...
0
Before Intent
 Intent Created
 Creating URI Stuff....
 Directory creation
 IMG_ONE created...
   1
Before Intent
Intent Created
Creating URI Stuff....
Directory creation 
IMG_ONE created...
2   
这是我的主要代码

btn=(Button)findViewById(R.id.camera);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int count=0;
            do {
                Log.v(TAG, "Before Intent");
                Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                Log.v(TAG, "Intent Created");
                fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
                intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);// set the image file name
                startActivityForResult(intent, count);
                Log.v(TAG, ""+count);
                count++;
            }while(count!=3);
        }
    });

 private static Uri getOutputMediaFileUri(int type){
    Log.v(TAG, "Creating URI Stuff....");
    return Uri.fromFile(getOutputMediaFile(type));
}

private static File getOutputMediaFile(int type){
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),TAG);
    Log.v(TAG,"Directory creation");

    if (! mediaStorageDir.exists()){
        if (! mediaStorageDir.mkdirs()){
            Log.v(TAG, "failed to create directory");
            return null;
        }
    }
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    File mediaFile;
    if (type == MEDIA_TYPE_IMAGE)
    {

        File imgFile = new File("\\Phone\\Pictures\\myAppSurun/IMG_one.jpg");
        File imgFile1=new File("\\Phone\\Pictures\\myAppSurun/IMG_two.jpg");
        File imgFile2=new File("\\Phone\\Pictures\\myAppSurun/IMG_three.jpg");
        if (!imgFile.exists()) {
            mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_one" + ".jpg");
            Log.v(TAG, "IMG_ONE created...");
        }
        else if(imgFile1.exists())
        {
            mediaFile=new File(mediaStorageDir.getPath()+File.separator+"IMG_three"+".jpg");
            Log.v(TAG, "IMG_THREE created...");
        }
        else if(imgFile.exists() && !imgFile1.exists())
        {
            mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_two" + ".jpg");
            Log.v(TAG, "IMG_TWO created...");
        }
        else
        {
            mediaFile=new File(mediaStorageDir.getPath()+ File.separator+"IMG_one"+".jpg");
            Log.v(TAG, "IMG_ONE ELSE  created...");
        }

    }
    else
    {
        return null;
    }
    return mediaFile;
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.v(TAG, "Before request...");
    //  int count=1;

    int count = 0;
    Log.v(TAG, "count" + count);
    do {

        if (requestCode == count) {
            Log.v(TAG, "Camera request iff...");
            if (resultCode == RESULT_OK) {
                Log.v(TAG, "Result Ok pre...");
                Log.v(TAG, ""+count);

                try {
                    File imgFile = new File("\\Phone\\Pictures\\myAppSurun/IMG_one.jpg");
                    if (imgFile.exists()) {
                        Log.v(TAG, "IMG_ONE File Exists...");
                        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                        myBitmap = Bitmap.createScaledBitmap(myBitmap, 50, 50, true);
                        iv.setImageBitmap(myBitmap);
                        long filesize = imgFile.length();
                        long sizeinmb = ((filesize / 1024) / 1024);
                        imgsiz1.setText("" + sizeinmb);
                        Log.v(TAG, "count1" + count);

                    }


                    File imgFile1 = new File("\\Phone\\Pictures\\myAppSurun/IMG_two.jpg");
                    if (imgFile1.exists()) {
                        Log.v(TAG, "IMG_TWO File Exists...");
                        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile1.getAbsolutePath());
                        myBitmap = Bitmap.createScaledBitmap(myBitmap, 50, 50, true);
                        iv1.setImageBitmap(myBitmap);
                        long filesize = imgFile1.length();
                        long sizeinmb = ((filesize / 1024) / 1024);
                        imgsiz1.setText("" + sizeinmb);
                        Log.v(TAG, "count2" + count);

                    }


                    File imgFile2 = new File("\\Phone\\Pictures\\myAppSurun/IMG_three.jpg");
                    if (imgFile2.exists()) {
                        Log.v(TAG, "IMG_THREE File Exists...");
                        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile2.getAbsolutePath());
                        myBitmap = Bitmap.createScaledBitmap(myBitmap, 50, 50, true);
                        iv2.setImageBitmap(myBitmap);
                        long filesize = imgFile2.length();
                        long sizeinmb = ((filesize / 1024) / 1024);
                        imgsiz1.setText("" + sizeinmb);
                        Log.v(TAG, "count3" + count);
                    }

                    // List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);


                } catch (Exception e) {
                    Log.v(TAG, "Exception " + e);
                }
            } else if (resultCode == RESULT_CANCELED) {
                Toast.makeText(this, "Image save canceled", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "Image save failed", Toast.LENGTH_LONG).show();
            }
        }
        count++;
    }while(count>=3);

    }
btn=(按钮)findViewById(R.id.camera);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
整数计数=0;
做{
日志v(标签“意图前”);
Intent Intent=新Intent(android.provider.MediaStore.ACTION\u IMAGE\u CAPTURE);
Log.v(标记“创建意图”);
fileUri=getOutputMediaFileUri(媒体类型图像);//创建一个文件以保存图像
intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);//设置图像文件名
startActivityForResult(意图、计数);
Log.v(标签“”+计数);
计数++;
}而(计数!=3);
}
});
私有静态Uri getOutputMediaFileUri(int类型){
Log.v(标记“创建URI内容…”);
返回Uri.fromFile(getOutputMediaFile(类型));
}
私有静态文件getOutputMediaFile(int类型){
File mediaStorageDir=新文件(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u PICTURES),标记);
Log.v(标记“目录创建”);
如果(!mediaStorageDir.exists()){
如果(!mediaStorageDir.mkdirs()){
Log.v(标记“未能创建目录”);
返回null;
}
}
字符串时间戳=新的SimpleDateFormat(“yyyyMMdd_HHmmss”)。格式(新日期();
文件媒体文件;
如果(类型==媒体类型图像)
{
File imgFile=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_one.jpg”);
文件imgFile1=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_two.jpg”);
文件imgFile2=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_three.jpg”);
如果(!imgFile.exists()){
mediaFile=新文件(mediaStorageDir.getPath()+File.separator+“IMG_one”+“.jpg”);
Log.v(标记“IMG_ONE created…”);
}
else if(imgFile1.exists())
{
mediaFile=新文件(mediaStorageDir.getPath()+File.separator+“IMG_three”+“.jpg”);
Log.v(标记“IMG_THREE created…”);
}
else if(imgFile.exists()&&!imgFile1.exists())
{
mediaFile=新文件(mediaStorageDir.getPath()+File.separator+“IMG_two”+“.jpg”);
Log.v(标记“IMG_TWO created…”);
}
其他的
{
mediaFile=新文件(mediaStorageDir.getPath()+File.separator+“IMG_one”+“.jpg”);
Log.v(标记“IMG_其他人已创建…”);
}
}
其他的
{
返回null;
}
返回媒体文件;
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
Log.v(标签“请求前…”);
//整数计数=1;
整数计数=0;
Log.v(标签,“计数”+计数);
做{
if(requestCode==计数){
Log.v(标签“摄像机请求iff…”);
if(resultCode==RESULT\u OK){
Log.v(标签“结果确定前…”);
Log.v(标签“”+计数);
试一试{
File imgFile=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_one.jpg”);
if(imgFile.exists()){
Log.v(标记“IMG_存在一个文件…”);
位图myBitmap=BitmapFactory.decodeFile(imgFile.getAbsolutePath());
myBitmap=Bitmap.createScaledBitmap(myBitmap,50,50,true);
iv.设置图像位图(myBitmap);
long filesize=imgFile.length();
long-sizeinmb=((filesize/1024)/1024);
imgsiz1.setText(“+sizeinmb”);
对数v(标签,“计数1”+计数);
}
文件imgFile1=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_two.jpg”);
if(imgFile1.exists()){
Log.v(标记“IMG_两个文件存在…”);
位图myBitmap=BitmapFactory.decodeFile(imgFile1.getAbsolutePath());
myBitmap=Bitmap.createScaledBitmap(myBitmap,50,50,true);
iv1.设置图像位图(myBitmap);
long filesize=imgFile1.length();
long-sizeinmb=((filesize/1024)/1024);
imgsiz1.setText(“+sizeinmb”);
对数v(标签,“计数2”+计数);
}
文件imgFile2=新文件(“\\Phone\\Pictures\\myAppSurun/IMG_three.jpg”);
if(imgFile2.exists()){
Log.v(标记“IMG_三个文件存在…”);
位图myBitmap=BitmapFactory.decodeFile(imgFile2.getAbsolutePath());
myBitmap=Bitmap.createScaledBitmap(myBitmap,50,50,true);
iv2.设置图像位图(myBitmap);
long filesize=imgFile2.length();
long-sizeinmb=((filesize/1024)/1024);
imgsiz1.setText(“+sizeinmb”);
对数v(标签,“计数3”+计数);
}
//List nameValuePairs=新的ArrayList(3);
}捕获(例外e){
日志v(标签“异常”+e);
}
}else if(resultCode==RESULT\u取消){
Toast.makeText(这是“图像保存已取消”,Toast.LENGTH_LONG.show();
}否则{
Toast.makeText(此“图像保存失败”,Toast.LENGTH_LONG.show();
}
}
计数++;
}而(计数>=3);
}

试试
文件imgFile=new文件(“/Phone/Pictures/myAppSurun/IMG_one.jpg”)。在android中,文件路径分隔符为“/”而不是“\”。或者您可以使用
File.pathSeparator

文件imgFi