現在、BB アプリケーションを開発しており、現在のポジションを取得する必要があります。
v5.0 の BB モデルでは問題ありませんが、v6.0 の BB では常に locationProvider を null として取得します。(GPS はオンになっています)。
何が起こる可能性があり、それを解決する方法を知っている人はいますか?
私が使用するコードは次のとおりです。
private boolean startLocationUpdate() {
boolean retval = false;
try {
Criteria criteria = new Criteria();
criteria.setCostAllowed(true);
criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
locationProvider = LocationProvider.getInstance(criteria);
if (locationProvider == null) {
Runnable showGpsUnsupportedDialog = new Runnable() {
public void run() {
Dialog.alert("GPS is not supported on this platform...");
// System.exit( 1 );
}
};
UiApplication.getUiApplication().invokeAndWait(
showGpsUnsupportedDialog); // Ask event-dispatcher
// thread to display dialog
// ASAP.
} else {
locationProvider.setLocationListener(
new LocationListenerImpl(), interval, 1, 1);
retval = true;
}
} catch (LocationException le) {
System.err
.println("Failed to instantiate the LocationProvider object, exiting...");
System.err.println(le);
System.exit(0);
}
return retval;
}
ありがとう!