Vereis tengo este código que localiza las coordenadas y las envia a php, el tema es que la mayoria de las veces las envia vacias, y no veo el por que.
Código Java:
Ver original
protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView_lon = (EditText) findViewById(R.id.textView_lon); textView_lat = (EditText) findViewById(R.id.textView_lat); //longitud_envio =(EditText) findViewById(R.id.longitud_envio); //latitud_envio =(EditText) findViewById(R.id.latitud_enivio); locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); listener = new LocationListener() { @Override public void onLocationChanged(Location location) { //t.append("\n " + location.getLongitude() + " " + location.getLatitude()); //textView_lon.setText(""); //textView_lat.setText(""); textView_lon.append("\n" + location.getLongitude()); textView_lat.append("\n" + location.getLatitude()); //longitud_envio.append("\n" + location.getLongitude()); //latitud_envio.append("\n" + location.getLongitude()); } @Override } @Override } @Override Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(i); } }; /* b = (Button) findViewById(R.id.b); b.setOnClickListener(new View.OnClickListener() { @Override });*/ @Override //noinspection MissingPermission locationManager.requestLocationUpdates("gps", 500000000, 0, listener); @Override public void run() { @Override public void run() { int r=objJON(res); if(r>0){ i.putExtra("latitud", textView_lat.getText().toString()); i.putExtra("longitud", textView_lon.getText().toString()); startActivity(i); }else { Toast.makeText(getApplicationContext(), "Coordenadas incorrectas",Toast.LENGTH_SHORT).show(); } } }); } }; tr.start(); } }); } try{ conection.setRequestMethod("POST"); conection.setDoOutput(true); wr.writeBytes(parametros); wr.close(); Scanner inStream=new Scanner(conection.getInputStream()); while(inStream.hasNextLine()) respuesta+=(inStream.nextLine()); return respuesta.toString(); } int res=0; try{ JSONArray json=new JSONArray(rspta); if(json.length()>0) res=1; return res; } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case 10: configure_button(); break; default: break; } } void configure_button(){ // first check for permissions if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { ,10); } return; } // this code won't execute IF permissions are not allowed, because in the line above there is return statement. }
He probado comprobar los nombres de los campos pero nada parece todo correcto, como digo algunas veces, muy pocas envia los datos y los guarda.
A ver si alguien ve algo.
Saludos.