私はここでちょっと迷っています..基本的に、ユーザーの一般的な場所を可能な限り高速で軽量な方法で取得する必要があります。これは私が持っているコードです
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
provider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(provider);
Log.d(TAG,"Lat - " + (location.getLatitude()) + " long - " + (location.getLongitude()));
昨日は完璧に機能しましたが、今日はLog.d
アクセスしようとするとNull Pointerエラーが発生しますlocation
。このアプリを 2 人の友人に送ったところ、彼らの電話では正常に動作しました。コードをより堅牢にするために変更できるものはありますか? 携帯電話のクラッシュの原因は何ですか?
編集 - マップで GPS ロックを取得し、アプリに戻りましたが、それでもクラッシュします..