欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Communication between Android Java and Phonegap Javascript?

程序员文章站 2022-04-02 15:41:26
...

 

I believe that it's possible to call Java methods from (PhoneGap) Javascript.

Anyone knows how to do that?? (I know how to do it by changing the source code of PhoneGap, but I'd avoid that)

 

 

 

 

up vote72down voteaccepted

I finally made it work.

  • Create a class with methods you want to use:

    publicclassMyClass{privateWebView mAppView;privateDroidGap mGap;publicMyClass(DroidGap gap,WebView view){
        mAppView = view;
        mGap = gap;}publicString getTelephoneNumber(){TelephonyManager tm =(TelephonyManager) mGap.getSystemService(Context.TELEPHONY_SERVICE);String number = tm.getLine1Number();return number;}}
  • In your main activity add a Javascript interface for this class:

    publicclassMainextendsDroidGap{privateMyClass mc;@Overridepublicvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);super.init();
    
            mc =newMyClass(this, appView);
            appView.addJavascriptInterface(mc,"MyCls");super.loadUrl(getString(R.string.url));}}
  • In Javascript call window.MyCls methods:

    <script>
      $(function(){
        $("#phone").text("My telephone number is: "+ 
                window.MyCls.getTelephoneNumber());});</script>