有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java google play说我正在申请位置许可(我没有)

(问题解决了) 您好,谷歌不会发布我的应用程序来访问后台位置 目前我只对当前位置使用这些权限,不使用后台位置访问这些是清单文件和我的Gradle中的权限,请告知

<uses-permission 安卓:name="安卓.permission.ACCESS_FINE_LOCATION" />
<uses-permission 安卓:name="安卓.permission.ACCESS_COARSE_LOCATION" />

apply plugin: 'com.安卓.application'

安卓 {
compileSdkVersion 30


defaultConfig {
    applicationId "*****"
    minSdkVersion 17
    targetSdkVersion 30
    versionCode 82
    versionName "26"
    multiDexEnabled true
    vectorDrawables.useSupportLibrary = true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-安卓.txt'), 
'proguard-rules.pro'
    }
}
dexOptions {
    javaMaxHeapSize "8g"
}
repositories {
    mavenCentral()
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation '安卓x.appcompat:appcompat:1.2.0'
implementation '安卓x.legacy:legacy-support-v13:1.0.0'
implementation 'com.google.安卓.material:material:1.2.1'
implementation '安卓x.recyclerview:recyclerview:1.1.0'
implementation '安卓x.cardview:cardview:1.0.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'com.安卓.volley:volley:1.1.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.wunderlist:sliding-layer:1.2.5'
implementation 'com.安卓.support:multidex:1.0.3'
implementation 'com.google.firebase:firebase-messaging:20.2.4'
implementation 'com.google.firebase:firebase-analytics:18.0.2'
implementation 'com.google.firebase:firebase-crashlytics:17.3.1'
implementation 'com.google.maps:google-maps-services:0.1.20'
implementation 'com.google.安卓.libraries.places:places:2.4.0'
implementation '安卓x.constraintlayout:constraintlayout:2.0.4'
implementation 'com.commit451:PhotoView:1.2.4'
}

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

添加此行后仍不起作用

<uses-permission 
安卓:name="安卓.permission.ACCESS_COARSE_LOCATION" 
tools:node="remove"/>

<uses-permission 
安卓:name="安卓.permission.ACCESS_BACKGROUND_LOCATION" 
tools:node="remove" />

<uses-permission   
安卓:name="com.google.安卓.finsky.permission.
BIND_GET_INSTALL_REFER 
RER_SERVICE" tools:node="remove" />

这是合并的清单文件数据

<uses-permission
    安卓:name="安卓.permission.INTERNET" />

<uses-permission
    安卓:name="安卓.permission.ACCESS_FINE_LOCATION" />

<uses-permission
    安卓:name="安卓.permission.ACCESS_WIFI_STATE" />

<uses-feature
    安卓:glEsVersion="0x20000"
    安卓:required="true" />

<uses-permission
    安卓:name="安卓.permission.WAKE_LOCK" />

<uses-permission
    安卓:name="com.google.安卓.c2dm.permission.RECEIVE" />





also this services
<service        
安卓:name="com.google.安卓.datatransport.runtime.scheduling.
jobscheduling.JobInfoSchedulerService"
安卓:permission="安卓.permission.BIND_JOB_SERVICE"
安卓:exported="false" />

<receiver
安卓:name="com.google.安卓.
datatransport.runtime.scheduling.jobscheduling.
AlarmManagerSchedulerBroadcastReceiver"
安卓:exported="false" />

<provider   
安卓:name="安卓x.lifecycle.
ProcessLifecycleOwnerInitializer"
安卓:exported="false"
安卓:multiprocess="true"
安卓:authorities="com
.dolifecycle-process" 
/>

<service
安卓:name="com.google.安卓.datatransport
.runtime.backends.TransportBackendDiscovery"
安卓:exported="false">

<meta-data 安卓:name="backend:com.google.安卓.
datatransport.cct.CctBackendFactory"
安卓:value="cct" />
</service>


<provider
安卓:name="com.google.firebase.provider
.FirebaseInitProvider"
安卓:exported="false"
安卓:authorities="com.firebaseinitprovider"
安卓:initOrder="100"
安卓:directBootAware="true" />

<service
安卓:name="com.google.安卓.gms.measurement
.AppMeasurementService"


<receiver
安卓:name="com.google.安卓.gms.measurement
.AppMeasurementReceiver"

安卓:name="com.google.安卓.gms.common.api.GoogleApiActivity"

<receiver
安卓:name="com.google.firebase.iid.
FirebaseInstanceIdReceiver"

但没有任何迹象表明我在使用后台定位服务,所以我把apk上传到了google play服务,但我被拒绝了,原因也是一样的,如果还有什么可以帮助我的话

谷歌信息 未声明后台位置访问 我们检测到你的应用程序至少包含一个请求访问后台位置的功能,但是,你的权限声明表没有反映这一点。请登录游戏机重新提交位置声明表。你可以从你的应用程序中删除背景中的位置,也可以指示该用法在背景中

解决问题的办法是:

1-从你的项目转到gradle wrapper。属性并将distributionUrl更改为

分配=https://services.gradle.org/distributions/gradle-6.5-all.zip

2-删除任何访问位置的单例类检查应用程序类

3-在gitting之前立即显示权限对话框

4-添加到manifast文件中

<uses-permission 
安卓:name="安卓.permission.ACCESS_COARSE_LOCATION" 
tools:node="remove" />
<uses-permission 
安卓:name="安卓.permission.ACCESS_BACKGROUND_LOCATION" 
tools:node="remove" />

5-将compileSdkVersion和targetSdkVersion从build更改为30。格雷德尔锉刀

谷歌控制台

1-删除测试中的所有旧版本在我的情况下,有28个旧版本在运行。所以把它们拿走

2.从谷歌控制台点击“应用内容”。然后是“应用程序访问”,然后是“所有或部分功能受到限制”,然后是“管理”,并在需要时向应用程序添加访问权限

3-进入“应用程序内容”,然后是“敏感应用程序权限”,然后是“位置权限”和“位置权限”,然后从“您的应用程序是否在面向Android 9(Pie)或更高版本(SDK级别28或更低)的APK或应用包中访问后台位置?”中选择否

现在提交你的构建,这可能需要时间。在我的情况下,在google play thanx上花了12天


共 (1) 个答案

  1. # 1 楼答案

    这些库中的任何一个都在使用它

    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.libraries.places:places:2.4.0'
    

    您可以通过打开AndroidManifes.xml并使用此编辑器底部的“合并清单”选项卡来找到答案。找到权限,通过选择它,您将能够看到谁在包含它

    顺便说一句,如果您不需要,可以使用以下方法将其从清单中删除:

    <uses-permission
         android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
         tools:node="remove" />