Ошибка получения местоположения на платформе IBM MobileFirst - PullRequest
0 голосов
/ 05 ноября 2018

Я занимаюсь разработкой мобильного приложения на платформе ibm mobile first. Я использую версию 7.0. Я пытаюсь получить информацию о местоположении устройства Android, но хотя я пробовал несколько методов, я не получил информацию о местоположении. Мои разрешения в файле манифеста Android правильные и полные. Мой код и ошибки logcat я получил ниже. Благодарю.

Мои коды:

var showPosition = function(position) {
    WL.Logger.debug("got a position");
    var latitude = Number(position.coords.latitude).toFixed(2);
    var longitude = Number(position.coords.longitude).toFixed(2);
    alert('<b>Longitude:</b> ' + position.coords.longitude + '<b>Latitude:</b> ' + position.coords.latitude);
    //$("#currentLocation").text(latitude + " / " + longitude);

};

var positionError = function(err) { 
    WL.Logger.debug("failed to get  a position");
    $("#status").text("position error" + err); 

};

WL.Device.Geo.acquirePosition(showPosition, positionError, {
        timeout : 30000,
        enableHighAccuracy: true,
        maximumAge:15000
    }); 

Logcat Erros:

V/GpsLocationProvider(  918): reportStatus status: 3
V/GpsLocationProvider(  918): reportStatus status: 1
I/System.out( 3766): IntentService[CrashUploaderService] calls detatch()
I/com.dropbox.android.exception.d( 3766): Error uploading log:
I/com.dropbox.android.exception.d( 3766): dbxyzptlk.db240408.I.h: 
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
I/com.dropbox.android.exception.d( 3766):       at 
dbxyzptlk.db240408.H.y.a(panda.py:424)
I/com.dropbox.android.exception.d( 3766):       at 
dbxyzptlk.db240408.H.y.a(panda.py:346)
I/com.dropbox.android.exception.d( 3766):       at 
dbxyzptlk.db240408.L.K.a(panda.py:472)
I/com.dropbox.android.exception.d( 3766):       at 
com.dropbox.android.exception.d.a(panda.py:129)
I/com.dropbox.android.exception.d( 3766):       at 
com.dropbox.android.exception.d.a(panda.py:52)
I/com.dropbox.android.exception.d( 3766):       at     
com.dropbox.android.exception.CrashUploaderService.onHandleIntent 
(panda.py:33)
I/com.dropbox.android.exception.d( 3766):       at 
android.app.IntentService$ServiceHandler.handleMessage 
(IntentService.java:65)
I/com.dropbox.android.exception.d( 3766):       at 
android.os.Handler.dispatchMessage(Handler.java:102)
I/com.dropbox.android.exception.d( 3766):       at 
android.os.Looper.loop(Looper.java:145) 
I/com.dropbox.android.exception.d( 3766):       at 
android.os.HandlerThread.run(HandlerThread.java:61)
I/com.dropbox.android.exception.d( 3766): Caused by: 
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
I/com.dropbox.android.exception.d( 3766):       at 
com.android.org.conscrypt.SSLNullSession.getPeerCertificates 
(SSLNullSession.java:104)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.conn.ssl.AbstractVerifier.verify (AbstractVerifier.java:93)
I/com.dropbox.android.exception.d( 3766):       at 
dbxyzptlk.db240408.L.Q.createSocket(panda.py:173)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection 
(DefaultClientConnectionOperator.java:214)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.conn.AbstractPoolEntry.open 
(AbstractPoolEntry.java:167)  
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.conn.AbstractPooledConnAdapter.open 
(AbstractPooledConnAdapter.java:125)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.client.DefaultRequestDirector.executeOriginal 
(DefaultRequestDirector.java:1312)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.client.DefaultRequestDirector.execute 
(DefaultRequestDirector.java:702)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.client.AbstractHttpClient.execute 
(AbstractHttpClient.java:694)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.client.AbstractHttpClient.execute 
(AbstractHttpClient.java:516)
I/com.dropbox.android.exception.d( 3766):       at 
org.apache.http.impl.client.AbstractHttpClient.execute 
(AbstractHttpClient.java:494)
I/com.dropbox.android.exception.d( 3766):       at 
dbxyzptlk.db240408.H.y.a(panda.py:394)
I/com.dropbox.android.exception.d( 3766):       ... 9 more

1 Ответ

0 голосов
/ 05 ноября 2018

Высокая точность настройки использует и ищет сигналы GPS вместе с сетью, Wi-Fi для триангуляции местоположения. Иногда известно, что нельзя работать в помещении, когда невозможно получить блокировку GPS.

Попробуйте приложение вне помещения или перейдите к режиму с более низкой точностью, который в первую очередь зависит от местоположения в сотовой сети. Это должно дать вам лучшие результаты в помещении.

...