JavaScript에서 안드로이드로 값넘기기
구현할 기능 설명
안드로이드 webview에서 php파일로 String값을 넘기는 기능구현
구현 방법
final class MyJavaScriptInterface {
private final Handler handler = new Handler();
private Context context;
private GlobalApplication app;
MyJavaScriptInterface(Context context) {
this.context = context;
app = (GlobalApplication) context.getApplicationContext();
}
/*
* 자바스크립트로 통신하기 위해 사용하는 인터페이스
* 참고 URL : http://come2misun.tistory.com/274
*/
@JavascriptInterface
public void callAndroid(final String str) {
handler.post(new Runnable() {
public void run() {
// Log.e("context", str);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(str));
context.startActivity(intent);
}
});
}
@JavascriptInterface
public String androidToJs() {
handler.post(new Runnable() {
public void run() {
Log.e("androidToJs", app.getUserNo());
}
});
return "";//app.getUserNo();
}
}
1. 자바스크립트에서 안드로이드로 값넘기기
echo '<script>
window.myJs.callAndroid(' . $url . ');
</script>';
+++
자바스크립트에서 php로 값넘기기
1. 직접적으로 넣는 방법
실패
$userNo = '<script>var userNo = window.myJs.androidToJs(); document.write(userNo);</script>';
출처: 말은 쉽지, 코드를 보여줘
echo로 찍으니 내가 원하는 String이 출력되었다.
하지만 $userNo를 DB에 넣으려하니 에러가 발생하였다.
알고보니 $userNo 에
<script>var userNo = window.myJs.androidToJs(); document.write(userNo);</script>