`
squall140
  • 浏览: 140277 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Communication between Android Java and Phonegap Javascript?

 
阅读更多

 

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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics