Chcę utworzyć wtyczkę dla telefonu, która przekazuje i zwraca wartość między javascript i android.Przekaż i zwróć wartości z javascript i androida i użyj jako wtyczki luki telefonicznej
Czy ktoś może zasugerować jakieś pomysły, jak to zrobić?
Chcę utworzyć wtyczkę dla telefonu, która przekazuje i zwraca wartość między javascript i android.Przekaż i zwróć wartości z javascript i androida i użyj jako wtyczki luki telefonicznej
Czy ktoś może zasugerować jakieś pomysły, jak to zrobić?
W rzeczywistości nie jest to trudne. Tu pokażę jak zadzwonić natywnego kodu z javascript w obrębie strony i vice-versa:
Wywołanie kodu macierzystego z zasięgu wzroku internetowej:
Podczas tworzenia widoku internetowej dodać interfejs javascript (klasa zasadzie java którego metody będą narażone na miano poprzez javascript w widoku internetowej.
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
definicja javascript samej klasy interfejsu (jest to przykładowa klasa wziąłem z innej odpowiedzi kopalni i otwiera wideo w natywnym intencyjny)
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activiy) {
this.activity = activiy;
}
public void startVideo(String videoAddress){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file
activity.startActivity(intent);
}
}
Teraz, jeśli chcesz wywołać ten kod tworzą kod HTML strony, podać następujące metody:
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
Prosta prawda?
Wywołanie kodu javascript z kodu natywnego:
Jest to również proste załóżmy w kodzie HTML załadowanego WebView masz funkcja javascript zdefiniowane:
<script>
function function(){
//... do something
}
</script>
Następnie należy wywołać tę funkcję przez WebView w natywnym kodzie tak:
webView.loadUrl("javascript:function()");
Oto tutorial tworzenia PhoneGap Plugin. Również wtyczka instructions dla wtyczki ChildBrowser jest szczególnie dobra.
Hej dzięki Boris: D Dokładnie tego szukam. Bardzo podoba mi się to, że napisałeś szczegółowo w bardzo ładny prosty sposób. Jgd, niech Cię Bóg błogosławi :) – Prax
kod wywołania javascript z kodu natywnego działa, ale jak to zmienić, aby zwrócić wartość z javascript do kodu java – user280109
@ user280109: Musisz dodać wartości parametrów do połączenia. Oto przykład: http://stackoverflow.com/a/4330642/1108032 –