2

我想通过 Flickr、Tumblr、Instagram 分享图片。我想用这 3 个已安装的应用程序来做到这一点。我为 Instagram 找到的:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, "" + getShareText());
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "" + getShareText());
shareIntent.putExtra(Intent.EXTRA_STREAM,
                    Uri.parse("file://" + file.getAbsolutePath()));
shareIntent.setPackage("com.instagram.android");

我也可以拥有 Tumblr 和 Flickr 吗?是的,我可以通过集成库来处理 Oauth 进程。但我想通过特定安装的应用程序分享。

4

3 回答 3

6

只需在以下位置设置正确的包名称:

sendIntent.setPackage(PACKAGE_NAME);
  • 微博:com.tumblr
  • 弗里克:com.yahoo.mobile.client.android.flickr

您可以在 Google Play Store URLs 中找到软件包名称:

https://play.google.com/store/apps/details?id=PACKAGE_NAME

PS:最好先检查设备上是否安装了应用程序:

  try
  {
    getPackageManager().getApplicationInfo(PACKAGE_NAME, 0);
  }
  catch (PackageManager.NameNotFoundException e)
  {
    // Twitter not installed
  }

使用 SEND_ACTION 共享不需要在您的应用程序中进行 OAUTH,身份验证在目标应用程序中进行管理。

谢谢

于 2013-06-04T06:27:40.093 回答
1

如果您删除最后一行 (setPackage),所有可以处理发送图像的已安装应用程序都将显示在应用程序选择器对话框中,包括 tumblr 和 flickr。如果您想将应用程序限制为您提到的三个应用程序:您为什么要这样做?您只是在限制用户可以使用您的应用程序做什么。我不认为这是可能的。

于 2013-05-20T07:43:22.700 回答
0

有关为图像和视频创建 Android 意图的更多详细信息,请访问http://instagram.com/developer/mobile-sharing/android-intents/

于 2014-10-16T19:46:12.360 回答