我使用以下代码行将用户重定向到位置设置屏幕
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
它适用于大多数设备,但在某些三星设备上崩溃,但有例外:
android.content.ActivityNotFoundException:找不到要处理的Activity 意图{act = android.settings.LOCATION_SOURCE_SETTINGS}
有更好的方法来处理位置设置吗?
答案 0 :(得分:2)
有更好的方法来处理位置设置吗?
在JavaDocs中提到的Settings
类中几乎所有这些操作字符串都表明该活动可能不存在,因此您应该适当地处理它(例如,将startActivity()
调用包装在{{1}中处理程序)。
在这种情况下,除了ActivityNotFoundException
之外,没有明显的后备选项。您可以在异常处理程序中显示ACTION_SETTINGS
或对话框,指示此设备没有直接第三方访问位置设置屏幕。
另请注意Snackbar
在您的情况下无用;只需使用startActivityForResult()
。