我知道意图可以用来使用外部活动来完成特定的任务,我的问题是那些称为外部活动的是否可以包含在项目本身中。
例如,如果我想在我的应用程序中包含签到功能,并且知道 google plus 有这个很棒的签到活动,是否可以在我的应用程序中包含特定的签到活动?
我知道意图可以用来使用外部活动来完成特定的任务,我的问题是那些称为外部活动的是否可以包含在项目本身中。
例如,如果我想在我的应用程序中包含签到功能,并且知道 google plus 有这个很棒的签到活动,是否可以在我的应用程序中包含特定的签到活动?
您需要该活动的意图。我认为如果您安装了 G+ 应用程序,则需要遍历已安装的 Intent 列表并找到匹配的。
List<ResolveInfo> IntentsList= getPackageManager().queryIntentActivities(new Intent(Intent.ACTION_MAIN, null).addCategory(Intent.CATEGORY_LAUNCHER), 0);
PackageManager.PERMISSION_GRANTED = 0 在 addCategory
方法的第一个参数是addCategory()
变化的意图类别是CATEGORY_LAUNCHER
,CATEGORY_ALTERNATIVE
或者最有可能你需要的意图是CATEGORY_DEFAULT
。如果您知道意图名称,那么您可能可以在您的活动中调用它,也可以将其作为应用程序中的活动添加到您的清单中。
简短的回答是肯定的,如果您有要使用的外部应用程序的库项目。这通常不是最好的解决方案,因为如果您可以获得源(一个很大的 if)然后用户下载了应用程序,那么您必须选择使用哪个应用程序来完成意图(如果您没有使用显式意图)加上当他们更新时,您必须更新自己的应用程序。所有这些都会给您带来开销。另一种方法是遵循文本到语音库的示例。Android O/S 没有预装一个,因此每当请求该功能时,都会提示用户下载相关库。只需卸载 Pico TTS,您就会明白我的意思。