2017-05-09 11 views
0

私は、ユーザーからのテキストをQRコードに変換し、QRコードをimageViewに表示するアプリケーションを持っています。私の問題は、どのように私はそれのための指定されたパスとしてこのイメージ上の共有インテントを使用することができないか、イメージはどこに保存されますか?デバイスに保存されていないイメージを共有するには?

+0

uがファイルパス –

+1

http://stackoverflow.com/a/32829056/4265664 – Anu

+0

カントあなたがどこかに一時として画像を保存して、あなたはもうそれを必要といけないときにそれを削除使用して共有し、その後、ビットマップを保存する必要がありますか? – Tirolel

答えて

0

イメージのビットマップをキャッシュに保存して共有することで、これを行うことができます。

//To get the bitmap from Imageview 
imageView.setDrawingCacheEnabled(true); 
Bitmap bitmap = imageView.getDrawingCache(); 

//To share it via Intent** 
try { 
    File file = new File(getContext().getCacheDir(), fileName + ".png"); 
    FileOutputStream fOut = new FileOutputStream(file); 
    bitmap.compress(CompressFormat.PNG, 100, fOut); 
    fOut.flush(); 
    fOut.close(); 
    file.setReadable(true, false); 
    final Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 
    intent.setType("image/png"); 
    startActivity(intent); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
関連する問題