是否有一种简单的方式来共享网址&已预填充的Google+文字,没有添加Google Play Services依赖项,只使用普通的Android意图?
我正在寻找与此solution for Twitter和this one for Facebook类似的内容。
我问因为:
play-services-plus
)。答案 0 :(得分:2)
嗯,仅仅使用Intent.ACTION_SEND
,将整个共享文本(包括网址)放在Intent.EXTRA_TEXT
中就很容易了:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT,
"Just testing, check this out: https://stackoverflow.com/questions/28212490/");
filterByPackageName(context, intent, "com.google.android.apps.plus");
context.startActivity(intent);
...其中filterByPackageName()
是这样的实用程序(which I've posted before):
public static void filterByPackageName(Context context, Intent intent, String prefix) {
List<ResolveInfo> matches = context.getPackageManager().queryIntentActivities(intent, 0);
for (ResolveInfo info : matches) {
if (info.activityInfo.packageName.toLowerCase().startsWith(prefix)) {
intent.setPackage(info.activityInfo.packageName);
return;
}
}
}
如果您是通过以前使用Google PlusShare.Builder API的活动执行此操作,则仍然可以像以前一样调用activity.startActivityForResult
并处理onActivityResult
。
与使用PlusShare.Builder相比,使用此手动构建的Intent调用Plus应用程序的一个缺点是,用户必须选择他想与之共享的Google Plus帐户(如果他有多个帐户),无论如何您是否已使用Google将他登录到您的应用中。