public final class ShareCompat
extends Object
java.lang.Object | |
↳ | android.support.v4.app.ShareCompat |
用于在活动之间共享数据的额外帮助器功能。 ShareCompat提供的功能来扩展ACTION_SEND
/ ACTION_SEND_MULTIPLE
协议,支持检索有关调用的社会共享行动活动的更多信息。 ShareCompat.IntentBuilder
为构建共享意图提供了辅助函数,该共享意图始终包含有关调用活动和应用程序的数据。 这可让被叫活动为共享内容的应用提供归因。 以这种方式构建意图可以通过方法链式来完成。 要获得有关您的呼叫活动信息的IntentBuilder,请使用静态方法from(Activity)
。 ShareCompat.IntentReader
提供了用于解析用于启动活动的ACTION_SEND
或ACTION_SEND_MULTIPLE
意图中定义的附加功能的帮助功能。 您还可以为调用者的应用程序图标和应用程序的本地化标签(应用程序的人类可读名称)获取Drawable。 我们鼓励支持共享内容的社交应用程序使用此信息来调出共享内容的应用程序。
Nested classes |
|
---|---|
class |
ShareCompat.IntentBuilder IntentBuilder是构建 |
class |
ShareCompat.IntentReader IntentReader是读取共享(ACTION_SEND)意图中包含的数据的助手。 |
Constants |
|
---|---|
String |
EXTRA_CALLING_ACTIVITY 用于存储ACTION_SEND意图的调用活动的 |
String |
EXTRA_CALLING_PACKAGE 用于存储ACTION_SEND意图的调用程序包的名称的意图额外。 |
Public methods |
|
---|---|
static void |
configureMenuItem(MenuItem item, ShareCompat.IntentBuilder shareIntent) 将 |
static void |
configureMenuItem(Menu menu, int menuItemId, ShareCompat.IntentBuilder shareIntent) 配置菜单项以充当共享操作。 |
static ComponentName |
getCallingActivity(Activity calledActivity) 从共享意图中检索启动了calledActivity的活动的ComponentName。 |
static String |
getCallingPackage(Activity calledActivity) 从共享意图中检索启动了calledActivity的包的名称。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String EXTRA_CALLING_ACTIVITY
用于存储ACTION_SEND意图的调用活动的 ComponentName
的意图附加。
常量值:“android.support.v4.app.EXTRA_CALLING_ACTIVITY”
String EXTRA_CALLING_PACKAGE
用于存储ACTION_SEND意图的调用程序包的名称的意图额外。 当使用startActivityForResult开始一个活动时,这是多余的信息。 (它也由getCallingPackage()
提供。)不要直接使用此常数,而应考虑使用getCallingPackage(Activity)
或getCallingPackage()
。
常量值:“android.support.v4.app.EXTRA_CALLING_PACKAGE”
void configureMenuItem (MenuItem item, ShareCompat.IntentBuilder shareIntent)
将 MenuItem
配置为充当共享操作。
如果应用程序运行在API级别14或更高(Android 4.0 /冰淇淋三明治)上,此方法将配置ShareActionProvider以提供更强大的用户界面来选择共享的目标。 将在应用程序的专用数据目录中以前缀“.sharecompat_”命名的文件中的每个调用活动跟踪历史记录。 如果应用程序希望将此MenuItem设置为在操作栏中显示为操作,则应该使用setShowAsAction(MenuItem, int)
来除了调用此方法外还请求该行为。
如果应用程序运行在较旧的平台版本上,则此方法将为菜单项配置标准活动选择器对话框。
在调用活动的生命周期中,如果共享意图内的数据必须更改,则应用程序应通过以下几种方式之一更改该状态:
invalidateOptionsMenu(Activity)
. If the app is running on API level 11 or above and uses the Action Bar its menu will be recreated and rebuilt. If not, the activity will receive a call to onPrepareOptionsMenu(Menu)
the next time the user presses the menu key to open the options menu panel. The activity can then call configureMenuItem again with a new or altered IntentBuilder to reconfigure the share menu item.Parameters | |
---|---|
item |
MenuItem : MenuItem to configure for sharing |
shareIntent |
ShareCompat.IntentBuilder : IntentBuilder with data about the content to share |
void configureMenuItem (Menu menu, int menuItemId, ShareCompat.IntentBuilder shareIntent)
配置菜单项以充当共享操作。
Parameters | |
---|---|
menu |
Menu : Menu containing the item to use for sharing |
menuItemId |
int : ID of the share item within menu |
shareIntent |
ShareCompat.IntentBuilder : IntentBuilder with data about the content to share |
ComponentName getCallingActivity (Activity calledActivity)
从共享意图中检索启动了calledActivity的活动的ComponentName。 提供社交分享功能的应用可以使用此功能为共享内容的应用提供归因功能。
注意:这些数据可能是由主叫应用程序自愿提供的。 因此,在安全或验证环境中,不应该信任其准确性。
Parameters | |
---|---|
calledActivity |
Activity : Current activity that was launched to share content |
Returns | |
---|---|
ComponentName |
ComponentName of the calling activity |
String getCallingPackage (Activity calledActivity)
从共享意图中检索启动了calledActivity的包的名称。 提供社交分享功能的应用可以使用此功能为共享内容的应用提供归因功能。
注意:这些数据可能是由主叫应用程序自愿提供的。 因此,在安全或验证环境中,不应该信任其准确性。
Parameters | |
---|---|
calledActivity |
Activity : Current activity that was launched to share content |
Returns | |
---|---|
String |
Name of the calling package |