2016-03-25 15 views
0
if (Utils.isPackageInstalled(getContext(), "com.whatsapp")) { 
    Intent sendIntent = new Intent(); 
    sendIntent.setAction(Intent.ACTION_SEND); 

    Bitmap bitmap = Utils.screenShotBitmap(getActivity()); 
    Utils.saveImage(getActivity(), bitmap, bet.getID() + ".jpeg"); 
    File file = new File(getActivity().getFilesDir(), bet.getID() + ".jpeg"); 

    if (file.exists()) { 
     Log.i("share", "file exists"); 
     Log.i("share", Uri.fromFile(file).toString()); 
    } 
    sendIntent.putExtra(Intent.EXTRA_TEXT, "Share text"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 
    sendIntent.setType("image/*"); 

    sendIntent.setPackage("com.whatsapp"); 
    startActivity(sendIntent); 
} 

// ... 
public static Bitmap screenShotBitmap(Activity activity) { 
    return Falcon.takeScreenshotBitmap(activity); 
} 

public static void saveImage(Context context, Bitmap b, String name){ 
    FileOutputStream out; 

    try { 
     out = context.openFileOutput(name, Context.MODE_PRIVATE); 
     b.compress(Bitmap.CompressFormat.JPEG, 90, out); 
     out.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

ログイン-出力:のWhatsApp共有画像だけ黒

03-25 17:13:24.328 26417-26417/x.x.x I/share: file exists 
03-25 17:13:24.328 26417-26417/x.x.x I/share: file:///data/data/x.x.x/files/4b00abc2-7aae-4234-945b-59905306ad4a.jpeg 

結果:私はそれを共有することができますので、 enter image description here

Bitmap bitmap = Utils.screenShotBitmap(getActivity());は、正常に動作し、正しいビットマップを返すように思えますfacebookに問題なく。

答えて

0

私はそのコードと

ないするFacebookの問題もなく、それを共有することができますので。

ファイルを内部ストレージに書き込んでいます。 FacebookやWhatsAppのいずれもinternal storageの部分にアクセスすることはできません。プラス、using file:Uri values is being phased out

FileProviderなど、正しい長期回答はuse a ContentProvider to publish the bitmapです。短期的には、おそらくのようにexternal storageに書き込むことができます。

ACTION_SEND受信者はEXTRA_TEXTEXTRA_STREAMの両方を尊重する必要はなく、どちらか一方のみを尊重する必要があります。

+0

'FileProvider'はAndroid 4.1で動作しますか? – Chris

+0

@Chris:APIレベル4(a.k.a.、Android 1.6)で動作するはずです。 – CommonsWare

+0

私はあなたに戻ってくるのを試みます。ありがとう – Chris

関連する問題