android.provider.Settings.ACTION_BLUETOOTH_SETTINGS 在三星手机上闪退

3

有人知道为什么吗?

Intent pairIntent = new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);
startActivityForResult(pairIntent, 0);

在所有三星设备上崩溃,但在模拟器、HTC、索尼、LG等设备上运行良好。

编辑----------------------------------

事实证明,在清单中还需要添加BLUETOOTH_ADMIN权限以支持三星设备。

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

你的意思是说你遇到了“ActivityNotFoundException”异常吗? - CommonsWare
没有三星设备进行调试,但是三星用户报告说当启动此意图时,“应用程序意外关闭”。 - user3380200
1个回答

3
如果您拥有一个正在生产中的应用程序,您需要有 某些东西 来让您获取崩溃日志。这可以是从 Play Store 发货时获得的默认内容,也可以是类似 ACRA 的开源解决方案,或者任何数量的服务提供商。
关于您的崩溃,不能保证该活动可用。引用文档

在某些情况下,可能不存在匹配的 Activity,请确保您防范此问题。

“防范”可能是将您的 startActivity() 调用包装在异常处理程序中,观察 ActivityNotFoundException
还要注意,您使用 startActivity(),而不是使用 startActivityForResult(),使用此 Intent 操作。再次引用文档

输出:无。

这意味着没有结果,并且使用 startActivityForResult() 是浪费时间。

好的,那听起来很有道理。它仍在开发中,但只有几个人在进行我的测试版测试。很棒,这些信息通过Play商店的运输是标准的。 - user3380200
认为Settings.ACTION_BLUETOOTH_SETTINGS在所有设备上都是标准的。 - user3380200
@user3380200:屏幕可能是问题所在,但并没有要求任何设备制造商包含一个<intent-filter>来到达那里。当然,这只是你的应用程序崩溃的一个记录原因--没有堆栈跟踪,没有人能真正知道。 - CommonsWare
非常有帮助。谢谢! - user3380200

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接