File cacheDir = getContext().getCacheDir();//这是在fragment中,这个目录下的文件作为uri放在下面intent中程序不能正常运行
        FIile    tempAvatarFile = new File(cacheDir,"user+avatar.jpg");File sdcardRootPath = Environment.getExternalStorageDirectory();//sdcard目录下文件就行
     File       tempAvatarFile = new File(sdcardRootPath, "user_avatar.jpg");Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra("output", Uri.fromFile(tempAvatarFile));
        startActivityForResult(intent, IMAGE_CAPTURE_REQUEST_CODE);
为甚么intent的tempAvatarFile 指定为系统内部缓存目录下文件不行;指定成外部sdcard的文件才行?
[/size]

解决方案 »

  1.   


    判断了好像也不行那好像就是权限问题了,app内部目录只能自己使用不能其他应用使用。你可以用外部缓存目录作为替代getExternalCacheDir()。
      

  2.   

    那好像就是权限问题了,app内部目录只能自己使用不能其他应用使用。你可以用外部缓存目录作为替代getExternalCacheDir()。
    我是在一个app内部调用Intent开启相机,设置Uri保存照片的,就在拍完照然后点击那个“√”的时候,程序就崩了。T . T
      

  3.   

    我是在一个app内部调用Intent开启相机,设置Uri保存照片的,就在拍完照然后点击那个“√”的时候,程序就崩了。T . T
    报什么错误呢?是文件不存在还是Fragment的onActivityResult中出的错。
      

  4.   

    报什么错误呢?是文件不存在还是Fragment的onActivityResult中出的错。没有看到错误信息,程序走不到Fragment的onActivityResult就挂了
      

  5.   

    我也遇到了这个问题,说OnActivityResult出错