네이티브 안드로이드에서 자바 스크립트로 값을 보내고 싶습니다. 나는 아래처럼 노력하지만 nullPointerException을 얻고 나는이 질문을하고 사람이 나에게 말하기를, 나는 새로운 것으로 인스턴스를 만들어서는 안된다! 하지만 난 어떻게이 문제를 해결할 수 있습니다 그리고 어떻게이 클래스를 선언 할 수 및 loadUrl() 또는 sendJavascriptInterface()이 클래스에서 호출 할 수 있습니다 (주요 calss, 나는이 새로운 클래스에서이 메서드를 사용하는 의미). 나는이 코드를 쓴다. 나는 새로운 클래스가 잘못되었다는 것을 알지만 어떻게 해결할 수 있는지 모르겠습니다! :(phonegap에서 새 클래스의 인스턴스화
public class Test extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
super.loadUrl("file:///android_asset/www/index.html");
Log.e("run javascript func from native android", "");
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000,
0, locationListener);
}
}
GPSLocationListener :
public class GPSLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if (location != null) {
GPScls MyGPS= new GPScls();
Log.e(""+location.getLatitude(), ""+location.getLongitude());
MyGPS.GPS(location.getLatitude(),location.getLongitude());
}
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
GPScls :
public class GPScls extends DroidGap {
public void GPS(double latitude,double longitude) {
super.loadUrl("javascript:GPS("+latitude+","+longitude+");");
//this.sendJavascript("javascript:GPS("+latitude+","+longitude+")");
}
}
나는 이일 주변 검색하지만 난 이해할 수 없었다 :(
내가 쓸 수 있도록 제발 도와주세요 올바른 코드! 고마워요
값
클래스를 얻기 위해 문서로드에 getURLParameter를 호출합니다. http://docs.phonegap.com/en/3.4.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide – Ved
그리고 단순히 위도와 경도를 원할 경우 직접 자바 스크립트를 사용하지 마십시오 – Ved