草庐IT

android - 谷歌地图 Android V2 - 黑屏

coder 2023-12-10 原文

我正在为 android 实现谷歌地图。我创建了一个测试应用程序并在该应用程序中插入了所有权限等,该应用程序运行完美。

但是当我尝试将相同的代码复制到我的真实应用程序时,它在 android Activity 上显示空白屏幕。尽管我已经在 google api 控制台 中更新了包名称。

这是我的测试项目 list 的样子:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapstutorial"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<permission
    android:name="com.example.mapstutorial.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapstutorial.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
<uses-library android:name="com.google.android.maps" />
    <meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my api key"/>

    <activity
        android:name="com.example.mapstutorial.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

这是我的真实项目 list 的样子:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shop.shoppinglist"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

<permission      android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<permission      android:name="com.shop.shoppinglist.permission.C2D_MESSAGE"    android:protectionLevel="signature" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.shop.addtask.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.shop.shoppinglist.permission.C2D_MESSAGE" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:allowBackup="true"
    android:theme="@style/AppTheme" >

    <uses-library android:name="com.google.android.maps"/>
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>

    <activity
        android:name=".Login_Activity"
        android:label="@string/title_activity_main" 
        android:theme="@style/Theme.Sherlock" 
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我在我的控制台指纹中将包名称更新为 com.shop.addtask 但它仍然显示白屏。可能是什么导致了问题?我在这两个应用程序中使用的 apikey 是相同的。但它适用于测试应用程序,不适用于真实应用程序

  • 我已经使用指纹创建了 api key
  • 我已在控制台中打开 google maps android v2
  • 我使用的是与控制台中提到的相同的 api key 。

所以这些都是正确的,问题不可能是由其中之一引起的。

最佳答案

2 可能的原因:

1.这部分:

 <uses-library android:name="com.google.android.maps"/>
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>

应该在结束 application 标签之前。

2.您的 key 很可能有某种问题。尝试通过删除 debug.keystore 文件夹并运行项目来生成新的。然后通过控制台重新注册。

您可以使用我写的这篇指南来做到这一点:

Google Map API V2 key

更新:

检查一下:

<permission      android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>

看来你这里设置的包不是你应用的包,应该是:

  <uses-permission android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE"/>
  <permission      android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>

关于android - 谷歌地图 Android V2 - 黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658526/

有关android - 谷歌地图 Android V2 - 黑屏的更多相关文章

  1. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  2. ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记 - 2

    如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail

  3. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  4. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到 - 2

    技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进

  5. ruby - 从谷歌开发者网站下载后,client_secret.json 为空 - 2

    我正在尝试从googleAPI下载client_secret.json。我正在执行https://developers.google.com/gmail/api/quickstart/ruby中列出的步骤.使用此向导在GoogleDevelopersConsole中创建或选择项目并自动启用API。在左侧边栏中,选择同意屏幕。选择电子邮件地址并输入产品名称(如果尚未设置),然后单击“保存”按钮。在左侧边栏中,选择凭据并点击创建新客户端ID。选择应用程序类型已安装应用程序,已安装应用程序类型为其他,然后单击“创建客户端ID”按钮。点击新客户端ID下的下载JSON按钮。将此文件移动到您的工作

  6. 用于下载私有(private)谷歌文档的 Ruby 脚本 - 2

    我想用Ruby编写脚本(使用gdatagem、rest-clientgem或直接使用Net::HTTP)使用gmail-userid/password对我的google文档进行身份验证,然后下载私有(private)列表文件和文件。GDatadocuments指南清楚地说明了如何获取公开可见的文档,但不清楚我如何在我的脚本中验证自己的身份以访问私有(private)文档。authenticationmethodstheyspecify所有这些似乎都需要人工干预,要么使用验证码,要么使用某种形式的OAuth/OpenID重定向。有什么方法可以只使用用户名/密码组合来访问我的私有(priv

  7. ruby - 获取谷歌搜索结果的正确方法是什么? - 2

    我想在google上获取特定关键字搜索的所有搜索结果。我已经看到了抓取的建议,但这似乎是个坏主意。我见过Gems(我计划使用ruby​​)进行抓取并使用API。我还看到了使用API的建议。有谁知道现在最好的方法吗?API不再受支持,我看到有人报告说他们取回了无法使用的数据。Gems是否有助于解决这个问题?提前致谢。 最佳答案 我也选择了抓取选项,它比向谷歌询问key和加号更快,而且您每天的搜索查询不限于100次。正如理查德指出的那样,谷歌的服务条款是一个问题。这是我做过的一个对我有用的例子——如果你想通过代理连接,它也很有用:req

  8. Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信) - 2

    运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid

  9. Android 10.0 设置默认launcher后安装另外launcher后默认Launcher失效的功能修复 - 2

    1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La

  10. ruby-on-rails - 谷歌地图、Ruby on Rails、用一个标记缩放级别 - 2

    我正在使用apneadiving/Google-Maps-for-Rails添加googlemaps支持(感谢awesomegem)但是,我发现了一个小故障,这很可能是我的错。当有多个标记时,auto_zoom效果很好。但是,当只有一个标记时,它会放大到不漂亮的最大级别。“缩放”仅在auto_zoom为false时有效,所以这不是我想要的。因此您可以使用“maxZoom”,但现在用户无法手动放大超出该点,这不是我想要的。有解决办法吗?我的解释有道理吗?这是GoogleMapsAPI的限制吗?谢谢... 最佳答案 此行为是由于goog

随机推荐