我在尝试弄清楚如何在使用Transfuse框架的Android应用程序上设置地图时遇到了一些问题。
由于我在关于地图的示例和文档中没有看到任何内容,因此我尝试按照本教程进行操作:http://www.vogella.com/articles/AndroidGoogleMaps/article.html
不幸的是,当我开始添加元数据时:
@MetaData(name = "com.google.android.maps.v2.API_KEY", value = "my_key")
我得到:错误:在'android'包中找不到属性'resourceSpecification'的资源标识符
查看我的清单(输入自动生成)我看到它创建了'resourceSpecification'属性,我认为它应该被称为'资源',但我仍然没有定义任何资源,因此不应该添加,正确?
<meta-data t:tag="+,n,s,v" android:name="com.google.android.maps.v2.API_KEY" android:resourceSpecification="" android:value="my_key"/>
我承认,在将常规清单设置“转换”为Transfuse方式时,我有点迷失,另一个例子:
<permission
android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我该如何设置? (我猜这是另一个问题的主题,但仍然与Map相关)
任何帮助将不胜感激:)谢谢!
答案 0 :(得分:1)
这是0.2.3之前的错误。
就<permission>
和<uses-permission>
而言,您应该能够在@Permission
配置类上使用@UsesPermission
和@TransfuseModule
注释:
@TransfuseModule
@Permission(name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE", protectionLevel=ProtectionLevel.SIGNATURE)
@UsesPermission({
"com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE",
Manifest.permission.INTERNET,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
public class Module{}
产生以下内容:
<permission
android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />