Android Settings.ACTION_LOCATION_SOURCE_SETTINGS 导致崩溃
Android Settings.ACTION_LOCATION_SOURCE_SETTINGS resulting in crash
我正在使用以下代码行将用户重定向到位置设置屏幕
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
它在大多数设备上运行良好,但在某些三星设备上崩溃,但有一个例外:
android.content.ActivityNotFoundException: No Activity found to handle
Intent { act=android.settings.LOCATION_SOURCE_SETTINGS }
是否有更好的方法来处理位置设置?
Is there a better way to handle location settings ?
几乎所有 Settings
class 上的操作字符串都在 JavaDocs 中提到 activity 可能不存在,因此您应该适当地处理它(例如,包装您的 startActivity()
调用 ActivityNotFoundException
处理程序)。
在这种情况下,除了 ACTION_SETTINGS
之外没有明显的后备选项。您可能会显示来自异常处理程序的 Snackbar
或对话框,指示此设备没有直接第三方访问位置设置屏幕的权限。
另请注意,startActivityForResult()
在您的情况下没有用;只需使用 startActivity()
.
我正在使用以下代码行将用户重定向到位置设置屏幕
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
它在大多数设备上运行良好,但在某些三星设备上崩溃,但有一个例外:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.LOCATION_SOURCE_SETTINGS }
是否有更好的方法来处理位置设置?
Is there a better way to handle location settings ?
几乎所有 Settings
class 上的操作字符串都在 JavaDocs 中提到 activity 可能不存在,因此您应该适当地处理它(例如,包装您的 startActivity()
调用 ActivityNotFoundException
处理程序)。
在这种情况下,除了 ACTION_SETTINGS
之外没有明显的后备选项。您可能会显示来自异常处理程序的 Snackbar
或对话框,指示此设备没有直接第三方访问位置设置屏幕的权限。
另请注意,startActivityForResult()
在您的情况下没有用;只需使用 startActivity()
.