アクションバーに共有アイコンが必要です。押すと、セレクターが表示されます。私はこれのほとんどを適切に配置していますが、この歓迎されない仲介者が介入します...
メニュー:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_share"
android:title="@string/share"
android:showAsAction="always"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
/>
</menu>
SherlockFragment の onCreateOptionsMenu:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Inflate menu resource file.
inflater.inflate(R.menu.share_menu, menu);
// Locate MenuItem with ShareActionProvider
MenuItem item = menu.findItem(R.id.menu_share);
// Fetch and store ShareActionProvider
this.shareActionProvider = (ShareActionProvider) item.getActionProvider();
final String title = r.getString(R.string.feedback_share);
final String subject = r.getString(R.string.share_subject);
final String message = r.getString(R.string.share_message_plain);
Intent intent = app.newShareIntent(title, subject, message);
this.shareActionProvider.setShareIntent(intent);
}
インテント ファクトリ:
public Intent newShareIntent(String title, String subject, String message) {
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, message);
Intent chooser = Intent.createChooser(intent, title);
chooser.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return chooser;
}
歓迎されない仲買人:
そして、私がこの男をクリックすると、彼は指示どおりに実行し、セレクターを提示します。しかし、私は彼のサービスに従事することに本当に興味がありません.
私が求めているもの:
または、これを 3 つすべて (またはユーザーのデバイスでは多くの場合) ドロップダウンで... または、共有アイコンと一緒にインラインで表示されるデフォルトを設定できます。