私はグローバル変数を持っています。アプリの作業中に値が変更されます。共有ボタンがあり、それをタップすると、アプリの起動時に値だけを共有できます。私はshareIntentによって更新された値を送信したい。どうやってするの?共有インテントのデータを更新するには?
private int counter;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counterTextView = (TextView) findViewById(R.id.counter_text_view);
counter++;
String counterStr = Integer.toString(counter);
counterTextView.setText(counterStr);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.main, menu);
// Locate MenuItem with ShareActionProvider
MenuItem item = menu.findItem(R.id.menu_item_share);
// Fetch and store ShareActionProvider
mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
setShareIntent(createShareIntent());
// Return true to display menu
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
private Intent createShareIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,
counter);
return shareIntent;
}
変数静的を作りますか? – Konrad
申し訳ありませんが、動作しません。私はそれを試してみました... –