ShareActionProvider কে কাজ করাতে, আপনাকে অবশ্যই এটাকে একটি শেয়ার ইনটেন্ট সরবরাহ করতে হবে। EXTRA TEXT এবং EXTRA STREAM এর মতো এক্সট্রার সাহাজ্যে একশন ACTION SEND এবং অতিরিক্ত ডাটা সেট দিয়ে (Sending Simple Data to Other Apps) অনুশীলনী তে যেভাবে আলোচনা করা হয়েছে, এই শেয়ার ইনটেন্টের সেরকম হওয়া উচিত। একটি শেয়ার ইনটেন্টকে নিযুক্ত করতে, প্রথমে সংশ্লিষ্ট MenuItem খুঁজে বের করুন যখন আপনার Activity বা Fragment এর মধ্যে আপনার মেনু রিসোর্স প্রসারিত করে। পরবর্তীতে ShareActionProvider এর একটি ইনসটেন্স উদ্ধার করতে MenuItem.getActionProvider()কল করুন। ওই একশন আইটেমের সাথে যুক্ত শেয়ার আইটেম আপডেট করতে setShareIntent()ব্যবহার করুন। এখানে একটি উদাহরণ আছে:
private ShareActionProvider mShareActionProvider;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.share_menu, menu);
// Locate MenuItem with ShareActionProvider
MenuItem item = menu.findItem(R.id.menu_item_share);
// Fetch and store ShareActionProvider
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
// Return true to display menu
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
আপনার শুধু আপনার মেনু তৈরীর সময় একবার শেয়ার ইনটেন্ট সেট করার প্রয়োজন হতে পারে, অথবা আপনি এটা সেট করতে চাইতে পারেন এবং ইউজার ইন্টারফেস পরিবর্তন হিসাবে এটাকে আপডেট করুন। উদাহরণস্বরূপ, যখন আপনি গ্যালারী অ্যাপে ফটো পূর্ণ স্ক্রিনে ভিউ করেন, শেয়ারিং ইনটেন্ট পরিবর্তন করে যাতে আপনি ফটোর মধ্যে ঘুরতে পারেন।
ShareActionProvider অবজেক্ট সম্পর্কিত আরও আলোচনার জন্য Action Bar গাইড দেখুন।