Я хочу поделиться динамическим текстом с помощью ShareActionProvider. Я использую этот код в моем фрагменте:Как поделиться динамическим текстом в android ShareActionProvider
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.detailfragment, menu);
MenuItem menuItem = menu.findItem(R.id.action_share);
private ShareActionProvider mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);
if (mForecast != null) {
mShareActionProvider.setShareIntent(createShareForecastIntent());
}
}
private Intent createShareForecastIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, editText.getText().toString());
return shareIntent;
}
Это разделит текст, который был перед входом в активности, даже если я изменю его в EditText перед нажатием кнопки акций. И этот код работает, как я хочу, но я не хочу, чтобы сделать отдельную кнопку для совместного использования:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_SEND);
myIntent.putExtra(Intent.EXTRA_TEXT, editText.getText().toString());
myIntent.setType("text/plain");
startActivity(myIntent);
break;
default:
//
}
}
Я использую:
minSdkVersion 14
targetSdkVersion 19
Попробуйте установить намерение Share в свой метод onOptionsItemSelected –
не работает; ( –