在查看了一些博客之后,我尝试在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号码。
答案 0 :(得分:0)
我终于明白了。 appview有获取webview的方法。 Webview有设置javainterface的方法,允许从JavaScript调用。