使用Android Transfuse设置Maps v2

时间:2013-10-13 02:22:49

标签: android google-maps android-manifest transfuse

我在尝试弄清楚如何在使用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相关)

任何帮助将不胜感激:)谢谢!

1 个答案:

答案 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" />