Android Settings.ACTION_LOCATION_SOURCE_SETTINGS导致崩溃

时间:2015-10-31 11:48:25

标签: android google-play-services

我使用以下代码行将用户重定向到位置设置屏幕

startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0); 

它适用于大多数设备,但在某些三星设备上崩溃,但有例外:

  

android.content.ActivityNotFoundException:找不到要处理的Activity   意图{act = android.settings.LOCATION_SOURCE_SETTINGS}

有更好的方法来处理位置设置吗?

1 个答案:

答案 0 :(得分:2)

  

有更好的方法来处理位置设置吗?

在JavaDocs中提到的Settings类中几乎所有这些操作字符串都表明该活动可能不存在,因此您应该适当地处理它(例如,将startActivity()调用包装在{{1}中处理程序)。

在这种情况下,除了ActivityNotFoundException之外,没有明显的后备选项。您可以在异常处理程序中显示ACTION_SETTINGS或对话框,指示此设备没有直接第三方访问位置设置屏幕。

另请注意Snackbar在您的情况下无用;只需使用startActivityForResult()