2017-11-23 3 views
0

나는 web app를 android app에 접근하고 싶다. 왜냐하면 내가 한 것은 webview를 사용하여 webapp의 url을 호출하는 것이다. Webapp은 하나의 js 변수를 포함하고 있습니다. android MainActivity에 변수에 액세스하고 싶습니다. 어떻게 android MainActivity를 사용하여 다른 webapp에있는 js 변수에 값을 지정하고 값을 할당 할 수 있습니까? 다음은android MainActivity에서 js 변수에 액세스하기

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     mWebview = new WebView(this); 

     mWebview.getSettings().setJavaScriptEnabled(true); 
     mWebview.getSettings().setDatabaseEnabled(true); 
     mWebview.getSettings().setLoadWithOverviewMode(true); 

     mWebview.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY); 
     mWebview.setScrollbarFadingEnabled(false); 
     mWebview.loadUrl("http://www.mywebapp.com"); 

     setContentView(mWebview); 


    } 

내 주요 질문은 어떻게 액세스하고 다른 응용 프로그램/HTML에 안드로이드의 MainActivity를 통해 JS 변수에 값을 할당하는 것입니다, MainActivity 내 코드인가?

+2

이 당신에게 도움이 될 수 https://stackoverflow.com/questions/11287820/passing-a-javascript-variable-to-android-activity –

답변

2
 // Call method in js or html 
Android.getImageUrl("text"); 

    // add this line in main activity.  
    webView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 

    // js value get in this method.(add this method in activity) 
    public class JavaScriptInterface { 
       Context mContext; 

       JavaScriptInterface(Context c) { 
        mContext = c; 
       } 

       @JavascriptInterface 
       public void getImageUrl(String text) { 
     // js value get here. 
        } 
       } 
      } 
+0

내가 getImageUrl을 구현해야하는 위치(); 방법? –

+0

js 또는 html에서이 메서드를 호출 할 수 있습니다. – Pratik18

+0

예 js/html에서 호출하지만 getImageUrl() 메서드 정의는 어디에 구현됩니까? mainActivity 또는 다른 곳에서? 구현해야 할 것인가,하지 말아야합니까 ?? 나는 안드로이드를 처음 접하는 매우 기본적인 질문을하는 것에 대해 유감스럽게 생각합니다. –