试图在android中获取imei号码 - phonegap

时间:2016-01-14 18:13:02

标签: android cordova ionic-framework phonegap-plugins

在查看了一些博客之后,我尝试在android中获取IMEI号码。

以下是我的原生活动代码:

schema

并在离子框架创建的app.js文件中调用getIMEI函数。

public class MainActivity extends CordovaActivity
{

    private static String imei;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // Set by <content src="index.html" /> in config.xml
        super.init();
        loadUrl(launchUrl);

        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        imei=tm.getDeviceId();
        LOG.d("kp","hello");
    }

    @JavascriptInterface
    static public String getIMEI(){
        return imei;
    }


}

警报本身不会到来。

如果我在下面替换

angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
  var imei = window.MainActivity.getIMEI();
    alert("hi "+imei);
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
    }
  });
})

var imei = window.MainActivity.getIMEI();
    alert("hi "+imei);

警报按预期进行,但是当我添加alert("Hi");

时警报就会中断

有人可以帮助我获取IMEI号码。

1 个答案:

答案 0 :(得分:0)

我终于明白了。 appview有获取webview的方法。 Webview有设置javainterface的方法,允许从JavaScript调用。