我正在構建一個簡單的相機應用程序在Android中顯示它在imageView
。我可以得到非常模糊的縮略圖。所以我有一個製作的文件,然後它給了我的文件的位置。當我檢查它時,它是0 kb,這是很好理解。 我的任務是捕獲圖像並保存在mCurrentPhotoPath
,我應該能夠在我imageView
在startActivityForResult()
如何在位置獲取圖像並在Android應用程序中檢索imageView?
顯示它不過應用崩潰連連Caling在此之前之前。 我知道的東西是越野車在這條線
Uri photoURI = FileProvider.getUriForFile(MainActivity.this,"com.infolabs.photu", photoFile);
。我已經改變了Uri photoURI = FileProvider.getUriForFile(this, "com.example.android.fileprovider",photoFile);
到com.infolabs.photu
。但我不能讓什麼是錯的吧。
請看看我的代碼,我有位置URL的位置,但它不會顯示或工作的形象是0KB
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.captureimage);
imageView = (ImageView) findViewById(R.id.imageView);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null)
{
// Create the File where the photo should go
File photoFile = null;
try
{
photoFile = createImageFile();
Toast.makeText(MainActivity.this,mCurrentPhotoPath,Toast.LENGTH_LONG).show();
}
catch (IOException ex)
{
Toast.makeText(MainActivity.this,"the file is not created ",Toast.LENGTH_SHORT).show();
}
if (photoFile != null)
{
//this Uri does not working properly
Uri photoURI = FileProvider.getUriForFile(MainActivity.this,"com.infolabs.photu", photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
}
});
}
錯誤日誌: - 致命異常:主要 過程:infolabs PID:21415 java.lang.NullPointerException:試圖調用虛方法android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,java.lang.String) '在android.support.v4.content.FileProvider.parsePathStrategy上的空對象引用 (FileProvider.java:58 3) at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557) at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399) at infolabs.photu.MainActivity $ 1 .onClick(MainActivity.java:71) at android.view.View.performClick(View.java:5269) at android.view.View $ PerformClick.run(View.java:21556) at android.os.Handler .handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main (ActivityThread.java:5776) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679) 04-17 16:56:15.085 21415-21425/infolabs.photu I /系統:FinalizerDaemon:最終確定的對象= 65
如果它崩潰,那麼也發佈你的崩潰日誌。 –
您可以在「Uri photoURI = FileProvider.getUriForFile(MainActivity.this,」com.infolabs.photu「,photoFile)中添加調試點;」並手動打開文件並檢查文件的大小。 – Sarker
是的,我沒有顯示0kb –