私のLocation Listener
に問題があると思うが、それを特定することはできない。 GPSを取得するためのコードを削除すると、アプリケーションは正常に動作しています。私はフラグメント内からGPS座標を取得しようとしています。エラーは発生していないが、起動時にアプリケーションがクラッシュする
public class RescueFragment extends Fragment{
public RescueFragment(){}
private static final long mindisch=1;
private static final long mintim=1000;
protected LocationManager locationManager;
protected Double latitude,longitude;
TextView alert_display;
Button btn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_rescue, container, false);
alert_display = (TextView)rootView.findViewById(R.id.alert_display);
btn = (Button) rootView.findViewById(R.id.button_rescue_me);
locationManager =(LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,mindisch,mintim, new MyLocationListener() );
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
alert_display.setText("Alert Sent to User");
showCurrentLocation();
}
});
return rootView;
}
protected void showCurrentLocation()
{
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location!=null)
{
latitude=location.getLatitude();
longitude=location.getLongitude();
Toast.makeText(getActivity(), "Alert sent. Location: "+ latitude+" "+ longitude, Toast.LENGTH_LONG).show();
}
}
private class MyLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location location) {
latitude=location.getLatitude();
longitude=location.getLongitude();
Toast.makeText(getActivity(), "Alert sent. Location: "+ latitude+" "+ longitude, Toast.LENGTH_LONG).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Toast.makeText(getActivity(), "Provider Status Changed: ", Toast.LENGTH_LONG).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(getActivity(), "GPS ON", Toast.LENGTH_LONG).show();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(getActivity(), "GPS OFF:", Toast.LENGTH_LONG).show();
}
}
}
エラーログを親切に投稿してください。 –
あなたの 'LogCat'を投稿してください。 –
マニフェストファイルの場所を取得する権限を追加しましたか? – himanshu1496