2017-02-23 22 views
0

自分の写真を携帯電話のデフォルトギャラリーアプリで表示しようとしていますが、私のアプリが点滅してエラーが発生することなく再読み込みされます。私はこのような写真を開こうとしています:Androidが意図して写真を開くことができません

Uri uri = FileProvider.getUriForFile(context, "www.markwen.space.fileprovider", file); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(uri, "image/jpg"); 
startActivity(intent); 

私はここに何か間違いがありません。カメラを使って撮影した写真を保存しても、正しくエンコードできなかったと思っています。私が写真を保存するとき、私はここにある指示に従います:https://developer.android.com/training/camera/photobasics.html

あなたの携帯電話のカメラアプリで写真を撮ったらどうやって写真を保存しますか?私の写真を開くために何ができますか?おかげ

アップデート:ここ

は私が写真を撮る方法です:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // Photo 
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == -1) { 
     Uri imageUrl = data.getData(); 
    if (imageUrl != null) { 
     // Announce picture to let other photo galleries to update 
     Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
     mediaScanIntent.setData(imageUrl); 
     getActivity().sendBroadcast(mediaScanIntent); 
     try { 
      MediaStore.Images.Media.insertImage(getContext().getContentResolver(), directory + filename, "Multimedia-Image", "Multimedia-Image"); 
      Toast.makeText(getContext(), "Image saved to gallery", Toast.LENGTH_LONG).show(); 
      filename = ""; 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
    } 
} 

答えて

0

を私はよく分からない:ここ

private void startPhotoIntent() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    // Create photo file 
    File photo = new File(getFileDirectory(".jpg")); 
    // Save intent result to the file 
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(getContext(), "www.markwen.space.fileprovider", photo)); 
    if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) { 
     // Start intent to take the picture 
     startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
    } 
} 

は私が撮った写真を保存しています方法です何をしようとしている、 画像を電話に保存するのは簡単です、 あなたはどんな意図を使っているのですか。 私は画像自体の保存場所を指定する グーグルEXTRA_STREAMためEXTRA_OUTPUTを意図を変更する方法を探します

2

あなたのイメージのABSOLUTパスを取得します

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(file.getAbsolutePath()))); 
+0

それは驚くほど働いていた、しかし、私はギャラリーアプリで開いていた画像が空になる、どのように私はそれを保存する方法に基づいてアイデア? – thousight

+0

プライベートvoid galleryAddPic(){ インテントmediaScanIntent =新しいインテント(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri contentUri = Uri.fromFile(file); mediaScanIntent.setData(contentUri); this.sendブロードキャスト(mediaScanIntent); } –

+0

私はそれを持っています。しかし、後で私のアプリで写真を開きたいときは、ギャラリーアプリを開きますが、アプリは何も表示しません – thousight

関連する問題