android.provider.Settings.ACTION_BLUETOOTH_SETTINGS 在三星上崩溃
Posted
技术标签:
【中文标题】android.provider.Settings.ACTION_BLUETOOTH_SETTINGS 在三星上崩溃【英文标题】:android.provider.Settings.ACTION_BLUETOOTH_SETTINGS crashes on Samsung 【发布时间】:2015-05-02 19:20:26 【问题描述】:有人知道为什么
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
?
没有可调试的三星设备,但三星用户在启动此意图时报告“应用程序意外关闭”。
【参考方案1】:
如果您有一个正在生产的应用程序,您需要有一些东西 可以让您获取崩溃日志。这可能是您通过 Play 商店发货时获得的默认内容,也可能是 ACRA 等开源解决方案,或任意数量的服务提供商。
关于您的崩溃,无法保证此活动可用。引用the documentation:
在某些情况下,匹配的 Activity 可能不存在,因此请务必防范这种情况。
“保护”可以将您的 startActivity()
调用包装在异常处理程序中,以监视 ActivityNotFoundException
。
另外,请注意您使用startActivity()
,而不是startActivityForResult()
,与此Intent
操作。再次引用the documentation:
输出:没有。
这意味着没有结果,使用startActivityForResult()
是浪费时间。
【讨论】:
好吧,这似乎是有道理的。它仍在开发中,但只有几个人在做我的 beta 测试。太好了,这些信息是通过 Play 商店发货的标准配置。 认为 Settings.ACTION_BLUETOOTH_SETTINGS 几乎是所有设备的标准配置。 @user3380200:屏幕可能是,但不要求任何设备制造商包含<intent-filter>
才能到达那里。当然,这只是您的应用程序可能在此处崩溃的原因之一——没有堆栈跟踪,没人能真正知道。
超级有帮助。谢谢!以上是关于android.provider.Settings.ACTION_BLUETOOTH_SETTINGS 在三星上崩溃的主要内容,如果未能解决你的问题,请参考以下文章