gpt4 book ai didi

java - 在 WEAR OS 上启动 map 需要 WRITE_SETTINGS 权限

转载 作者:行者123 更新时间:2023-12-01 18:13:37 25 4
gpt4 key购买 nike

我的 Android 应用必须在 Wear OS 上启动 gmap

    Uri gmmIntentUri = Uri.parse("https://www.google.com/maps/search/?api=1&query=" +Uri.encode( string));
Intent mapIntent = new Intent(ACTION_VIEW, gmmIntentUri);
// mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(activity.getPackageManager()) != null) {
activity.startActivity(mapIntent);
}

但我收到一个错误,提示权限拒绝...它想要 com.google.android.wearable.READ_SETTINGS

如果我把这个

<uses-permission android:name="com.google.android.wearable.READ_SETTINGS" />

在 list 中,我得到了同样类型的错误。

我无法通过与此类似的方式以编程方式请求许可

 if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_SETTINGS)
== PackageManager.PERMISSION_GRANTED) {
Log.d("permissions","granted");
} else {
// Show rationale and request permission.
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.READ_SETTINGS},
MY_LOCATION_REQUEST_CODE);

}

因为找不到该常量。编写完整的 com.google.android.wearable.READ_SETTINGS 字符串是没有用的。

我不明白为什么需要 READ_SETTINGS。怎么解决?

最佳答案

wearOS 上的 Google map 无法处理 Uri.parse("https://www.google.com/maps/search/?api=1&query=" +Uri.encode( string))或采用文档 Uri gmmIntentUri = Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California") 中建议的格式。虽然手机上的相同 Intent 会启动 Google map 并向您显示建议列表。

我的猜测是,wearOS 上的 map 应用程序是轻量级的,您只能搜索特定城市或地区的某些内容,如下所示:

// Searches for 'Main Street' near San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=101+main+street");

以下链接显示了在 Android 上使用的 Google map Intent 示例:https://developers.google.com/maps/documentation/urls/android-intents

对于错误:

com.google.android.wearable.READ_SETTINGS

您不需要在权限中添加此内容,但请检查您的穿戴应用 list 是否有此内容:

<uses-feature android:name="android.hardware.type.watch" />

关于java - 在 WEAR OS 上启动 map 需要 WRITE_SETTINGS 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60417168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com