AndroidシェアApi使用(互換モード)
2647 ワード
public class SharingSupport extends Activity {
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.sharing_support);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
ShareCompat.IntentBuilder b = ShareCompat.IntentBuilder.from(this);
b.setType("text/plain").setText("Share from menu");
MenuItem item = menu.add("Share");
ShareCompat.configureMenuItem(item, b);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
return true;
}
public void onShareTextClick(View v) {
ShareCompat.IntentBuilder.from(this)
.setType("text/plain")
.setText("I'm sharing!")
.startChooser();
}
public void onShareFileClick(View v) {
try {
// This file will be accessed by the target of the share through
// the ContentProvider SharingSupportProvider.
FileWriter fw = new FileWriter(getFilesDir() + "/foo.txt");
fw.write("This is a file share");
fw.close();
ShareCompat.IntentBuilder.from(this)
.setType("text/plain")
.setStream(Uri.parse(SharingSupportProvider.CONTENT_URI + "/foo.txt"))
.startChooser();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void onShareMultipleFileClick(View v) {
try {
// These files will be accessed by the target of the share through
// the ContentProvider SharingSupportProvider.
FileWriter fw = new FileWriter(getFilesDir() + "/foo.txt");
fw.write("This is a file share");
fw.close();
fw = new FileWriter(getFilesDir() + "/bar.txt");
fw.write("This is another file share");
fw.close();
ShareCompat.IntentBuilder.from(this)
.setType("text/plain")
.addStream(Uri.parse(SharingSupportProvider.CONTENT_URI + "/foo.txt"))
.addStream(Uri.parse(SharingSupportProvider.CONTENT_URI + "/bar.txt"))
.startChooser();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}