Geolocation и PubNub работают в браузере, но не в android - PullRequest
1 голос
/ 16 апреля 2020

У меня есть код для моего приложения (в котором я использую Apache Cordova) в геолокации PubNube HTML5 JavaScript, который определяет местоположение пользователя в режиме реального времени, однако этот код отлично работает в браузере, но когда я преобразую файл Apache Cordova в APK с помощью Android Studio, он не работает в APK, поэтому я думаю, что его легко решить, поскольку он работает на одной платформе, а другая - нет.

Мой Android Манифест

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="org.apache.cordova" android:versionName="1.0" android:versionCode="1">
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_GPS" />
  <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
  <uses-permission android:name="android.permission.ACCESS_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Мой Javascript Код

 const clientUUID = PubNub.generateUUID();

   var pubnub = new PubNub({
    publishKey: *****,
    subscribeKey: ****,
    secretkey: ****
  });

if ('geolocation' in navigator) {
    const watcher = navigator.geolocation.watchPosition(function(position){
        // sets default position to your position
      var latitude = position.coords["latitude"];
      var longitude = position.coords["longitude"];
      var altitude = 0;
      console.log(position); 
      console.log({"lat":latitude, "lng":longitude, "alt":0}); 

      var newMessage = {
          lat: latitude,
          lng: longitude
      }

      pubnub.publish(
        {
          channel: "******",
          message: newMessage
        },
        function(status, response) {
          console.log(status, response);
          console.log("Submit");
          console.log(newMessage);
        }
      );
    }, function(error){
        console.log(error)
    }, {enableHighAccuracy: true, maximumAge: 30000, timeout: 30000})
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...