【问题标题】:Failing to share on google+ with android无法在 google+ 上与 android 共享
【发布时间】:2012-09-09 03:29:27
【问题描述】:

我正在尝试在 google+ 上分享我的内容。这是我正在关注的教程

Google+ Tutorial

这是给我带来问题的部分。

Intent shareIntent = ShareCompat.IntentBuilder.from(MyActivity.this)
          .setType("text/plain")
          .setText("Welcome to the Google+ platform. https://developers.google.com/+")
          .getIntent()
          .setPackage("myPakageName");

这是日志

09-09 08:05:10.510: W/dalvikvm(716): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
09-09 08:05:10.601: E/AndroidRuntime(716): FATAL EXCEPTION: main
09-09 08:05:10.601: E/AndroidRuntime(716): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND typ=text/plain flg=0x80000 pkg=(myPakageName) (has extras) }
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.app.Activity.startActivityForResult(Activity.java:3190)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.app.Activity.startActivity(Activity.java:3297)
09-09 08:05:10.601: E/AndroidRuntime(716):  at com.trib.jax.mbhealth.MainMenu.shareGoogle(MainMenu.java:275)
09-09 08:05:10.601: E/AndroidRuntime(716):  at com.trib.jax.mbhealth.MainMenu.access$5(MainMenu.java:267)
09-09 08:05:10.601: E/AndroidRuntime(716):  at com.trib.jax.mbhealth.MainMenu$13.onClick(MainMenu.java:308)
09-09 08:05:10.601: E/AndroidRuntime(716):  at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.os.Looper.loop(Looper.java:137)
09-09 08:05:10.601: E/AndroidRuntime(716):  at android.app.ActivityThread.main(ActivityThread.java:4424)
09-09 08:05:10.601: E/AndroidRuntime(716):  at java.lang.reflect.Method.invokeNative(Native Method)
09-09 08:05:10.601: E/AndroidRuntime(716):  at java.lang.reflect.Method.invoke(Method.java:511)
09-09 08:05:10.601: E/AndroidRuntime(716):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-09 08:

【问题讨论】:

    标签: java android google-plus


    【解决方案1】:

    在教程中,您需要将 setPackage 作为 Google Plus 应用/服务的包名称

    .getIntent().setPackage("com.google.android.apps.plus")

    这意味着它只能在带有 Google Play 服务库的设备/模拟器上运行。 但是,同一页面指出

    注意:适用于 Android 的 Google+ 平台将在未来几周内推出 - 本文档可让您快速了解预期内容。

    由于它似乎没有发布,我不确定你做了什么才能走到这一步。

    【讨论】:

    • 您可以调用.getIntent().setPackage("com.google.android.apps.plus"),如果安装了Google+应用程序就可以使用。根据意图设置目标不依赖于 Google Play 服务。 play.google.com/store/apps/…
    【解决方案2】:

    您的包装声明肯定是错误的,应该留空以与所有共享应用程序共享,或仅针对 google plus(如@Morrison Chang 所解释)。

    一般来说,最好不要将意图定位到特定应用,这样用户可以根据自己的喜好决定选择哪一个。这是安卓的强项之一。

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      相关资源
      最近更新 更多