ionic-team / capacitor-plugins

Official plugins for Capacitor ⚡️
512 stars 580 forks source link

Geolocation not detecting AndroidManifest.xml user permission #1359

Closed tigoRyanO closed 1 year ago

tigoRyanO commented 1 year ago

Bug Report

Plugin(s)

"@capacitor/geolocation": "^1.3.1",

Capacitor Version

Latest Dependencies:

@capacitor/cli: 4.6.1 @capacitor/core: 4.6.1 @capacitor/android: 4.6.1 @capacitor/ios: 4.6.1

Installed Dependencies:

@capacitor/cli: 3.9.0 @capacitor/ios: 3.9.0 @capacitor/android: 3.9.0 @capacitor/core: 3.9.0

Platform(s)

Android 12+

Current Behavior

When calling method requestGeoPermissions, an error is thrown that AndroidManifest is missing needed permissions.

Expected Behavior

Should work properly since I have the user-permissions already in the manifest.

Code Reproduction

` async requestGeoPermissions() {

  await Geolocation.requestPermissions('location')
  .then((result) => {

      this.$log.debug('TgPermissionsTest:requestGeoPermissions:success:', result);

    })
    .catch((error) => {

      this.$log.debug('TgPermissionsTest:requestGeoPermissions:success:', error);

    })
},`

Other Technical Details

Additional Context

Console error with live reload:

TgPermissionsTest:requestGeoPermissions:success: Error: Missing the following permissions in AndroidManifest.xml:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION

at cap.fromNative (permissions_test:413:32)
at <anonymous>:1:18`

Error in production:

TgPermissionsTest:requestGeoPermissions:success: Error: Missing the following permissions in AndroidManifest.xml:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION

at cap.fromNative (VM3:413:32)
at <anonymous>:1:18

AndroidManifest.xml

<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />

Dependencies

"dependencies": {
"@capacitor/android": "^3.4.3",
"@capacitor/app": "1.1.1",
"@capacitor/camera": "^1.3.1",
"@capacitor/core": "^3.4.3",
"@capacitor/geolocation": "^1.3.1",
"@capacitor/haptics": "1.1.4",
"@capacitor/ios": "^3.4.3",
"@capacitor/keyboard": "1.2.2",
"@capacitor/network": "^1.0.7",
"@capacitor/text-zoom": "^1.0.8",
"@ianwalter/vuex-reset": "^4.3.2",
"@ionic-native/android-permissions": "^5.36.0",
"@ionic-native/barcode-scanner": "^5.36.0",
"@ionic-native/bluetooth-le": "^5.36.0",
"@ionic-native/core": "^5.36.0",
"@ionic-native/file": "^5.36.0",
"@ionic-native/globalization": "^5.36.0",
"@ionic-native/http": "^5.36.0",
"@ionic-native/network": "^5.36.0",
"@ionic-native/screen-orientation": "^5.36.0",
"@ionic-native/wifi-wizard-2": "^5.36.0",
"@ionic/vue": "^6.0.10",
"@ionic/vue-router": "^6.0.10",
"@tigoapps/tigobatterymanagement": "^1.0.31",
"@tigoapps/tigobuild": "^3.1.39",
"@tigoapps/tigocalendar": "^1.1.10",
"@tigoapps/tigochart": "^1.1.27",
"@tigoapps/tigochartnav": "^1.1.17",
"@tigoapps/tigoflow": "^2.2.42",
"@tigoapps/tigoicons": "^1.0.84",
"@tigoapps/tigomap": "^1.1.29",
"@tigoapps/tigorange": "^0.1.21",
"@tigoapps/tigotoggle": "^1.0.9",
"@tigoapps/tigoutils": "^0.1.73",
"@vueform/slider": "^2.0.9",
"@vuelidate/core": "^2.0.0-alpha.34",
"@vuelidate/validators": "^2.0.0-alpha.26",
"axios": "^0.21.4",
"babel-plugin-require-context-hook": "^1.0.0",
"bootstrap": "^4.6.1",
"cordova-plugin-advanced-http": "^3.2.2",
"cordova-plugin-android-permissions": "^1.1.3",
"cordova-plugin-ble-central": "^1.6.1",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-globalization": "^1.11.0",
"cordova-plugin-network-information": "^2.0.2",
"cordova-plugin-screen-orientation": "^3.0.2",
"cordova-plugin-wifiwizard2": "^3.1.1",
"cordova.plugins.diagnostic": "^7.1.1",
"core-js": "^3.21.1",
"crypto-js": "^4.1.1",
"d3-transition": "^2.0.0",
"es6-promise-plugin": "^4.2.2",
"intl-tel-input": "^17.0.18",
"jquery": "^3.6.0",
"js-sha512": "^0.8.0",
"localforage": "^1.10.0",
"localforage-cordovasqlitedriver": "^1.8.0",
"loglevel": "^1.8.0",
"moment-timezone": "^0.5.34",
"numeral": "^2.0.6",
"phonegap-plugin-barcodescanner": "^8.1.0",
"promise.any": "^2.0.3",
"recursive-diff": "^1.0.8",
"sass": "^1.49.9",
"sass-loader": "^8.0.2",
"swiper": "^7.4.1",
"vue": "3.2.30",
"vue-filter-number-format": "^3.0.1",
"vue-gtag": "^2.0.1",
"vue-i18n": "^9.1.9",
"vue-i18n-scanner": "^1.0.5",
"vue-matomo": "^4.1.0",
"vue-moment": "^4.1.0",
"vue-router": "^4.0.13",
"vue-toasted": "^1.1.28",
"vuex": "^4.0.2",
"vuex-map-fields": "^1.4.1"

}

tigohenryschultz commented 1 year ago

Updated our Capacitor plugins to 4.x and same issue:

Ionic:

   Ionic CLI       : 6.19.0 (C:\Users\Henry\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework : @ionic/vue 6.4.1

Capacitor:

   Capacitor CLI      : 4.6.1
   @capacitor/android : 4.6.1
   @capacitor/core    : 4.6.1
   @capacitor/ios     : 4.6.1

Utility:

   cordova-res : not installed globally
   native-run  : 1.7.1

System:

   NodeJS : v16.14.2 (C:\Program Files\nodejs\node.exe)
   npm    : 8.5.0
   OS     : Windows 10

variables.gradle:

ext {
    versionCode = 47001
    versionName = "4.7.0"
    minSdkVersion = 22
    compileSdkVersion = 31
    targetSdkVersion = 31
    androidxActivityVersion = '1.4.0'
    androidxAppCompatVersion = '1.4.2'
    androidxCoordinatorLayoutVersion = '1.2.0'
    androidxCoreVersion = '1.8.0'
    androidxFragmentVersion = '1.4.1'
    coreSplashScreenVersion = '1.0.0-rc01'
    androidxWebkitVersion = '1.4.0'
    junitVersion = '4.13.2'
    androidxJunitVersion = '1.1.3'
    androidxMaterialVersion = '1.6.1'
    androidxBrowserVersion = '1.4.0'
    androidxLocalbroadcastmanagerVersion = '1.0.0'
    androidxExifInterfaceVersion = '1.3.3'
    firebaseMessagingVersion = '23.0.5'
    playServicesLocationVersion = '20.0.0'
    androidxEspressoCoreVersion = '3.4.0'
    cordovaAndroidVersion = '10.1.1'
}
Ionitron commented 1 year ago

This issue may need more information before it can be addressed. In particular, it will need a reliable Code Reproduction that demonstrates the issue.

Please see the Contributing Guide for how to create a Code Reproduction.

Thanks! Ionitron 💙

Ionitron commented 1 year ago

It looks like this issue didn't get the information it needed, so I'll close it for now. If I made a mistake, sorry! I am just a bot.

Have a great day! Ionitron 💙

ionitron-bot[bot] commented 1 year ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of the plugin, please create a new issue and ensure the template is fully filled out.