0
private void createShareIntent() {
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    String file = "/mnt/sdcard/9gag_4155804.jpg";
    File f = new File(file);
    if (!f.exists()) {
        Toast.makeText(getApplicationContext(), "File doesnt exists", Toast.LENGTH_SHORT).show();
        return;
    } else {
        Toast.makeText(getApplicationContext(), "We can go on!!!", Toast.LENGTH_SHORT).show();
    }
    Uri uri = Uri.fromFile(f);
    shareIntent.setType("image/jpeg");
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(Intent.createChooser(shareIntent, "How do you want to share?"));
}  

ファイルは存在しますが、トーストを受け取りません。このメソッドを呼び出すと、多くのインテントがリストされます。(Google Drive、Mail、Plus など) Google Plus をクリックすると、「すべてのメディア ファイルを投稿に追加できるわけではありません」と表示されます。Google ドライブやその他のサービスを使用する場合も同様です。イメージを共有することはできません...

何か案は?

// 編集して、トースト「We can go on!!!」を取得します。

4

1 に答える 1

-3

マニフェストでインテント フィルタを定義しましたか? これを追加しない場合:

 <intent-filter>
            <action android:name="android.intent.action.SEND" />

            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType-"image/*"/>
 </intent-filter>

これが暗黙のインテントであることを Android システムに通知する必要があります。

于 2012-06-25T10:17:33.907 に答える