【问题标题】:Android Apps' content sharing works perfectly on emulator, but crashes on real deviceAndroid 应用的内容共享在模拟器上完美运行,但在真实设备上崩溃
【发布时间】:2017-08-06 13:25:42
【问题描述】:

我是 android 平台的新手,我正在开发一个 android 应用程序。除了几个功能之外,应用程序中还有一个功能,它可以共享文本、图像等内容。对于初始测试,我使用了 tablelayout,在这个布局中我使用了行和列。更具体地说,只有两列。第一列包含一些文本内容,第二列包含代表“共享”的按钮或标签或文本。当任何用户点击应用程序中的共享选项时,会弹出一个弹出窗口,用户将获得用户想要共享内容的目标列表(如 Facebook、Twitter、Google+ 等)。因此,当我在模拟器上测试此共享选项时,它运行良好,非常完美。但是当我在真实设备上测试应用程序并点击真实设备上的共享选项时,应用程序就会崩溃。我不知道为什么。有人请向我建议此类问题的可能原因。提前致谢。下面是我使用的示例代码。

textContent = (TextView) findViewById(R.id.content);
shareContent = (TextView) findViewById(R.id.share_content);
shareContent.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, textContent.getText());
    sendIntent.setType("text/plain");
    getApplicationContext().startActivity(
        Intent.createChooser(sendIntent, "Share..."));
    }
});

【问题讨论】:

  • 请提供minimal reproducible example。这将包括崩溃的 Java 堆栈跟踪,以及与该堆栈跟踪关联的所有代码。
  • 与手机相比,模拟器运行的是什么版本的 Android,手机是什么品牌/型号?
  • #CommonsWare 我已经编辑并添加了我的示例代码。
  • #Carl Poole,模拟器使用的是最新版本的android nougat,真机(品牌:Doogee)使用的是android lolipop。

标签: android


【解决方案1】:

如果设备中已安装相应应用程序,则会打开它们的列表。如果不是,则系统将触发异常。用 try-catch 块保护你的方法。并检查安装了哪些应用程序以匹配您的意图操作。

【讨论】:

    猜你喜欢
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 2022-01-17
    • 2015-07-26
    • 2022-01-22
    相关资源
    最近更新 更多