我继承了一个Cordova混合应用程序,其清单文件中有错误.targetSdkVersion设置为24,就我而言尚不存在.
该应用未在Android 6设备上进行测试,因此上传到Play商店时出现该错误.由于Android 6上的权限模型已更改了这些设备上的应用程序崩溃.
03-12 21:10:05.991 24366-24475/? E/PluginManager? Uncaught exception from plugin
java.lang.SecurityException: getDeviceId: Neither user 10111 nor current process has android.permission.READ_PHONE_STATE.
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at com.android.internal.telephony.ITelephony$Stub$Proxy.getDeviceId(ITelephony.java:4207)
at android.telephony.TelephonyManager.getDeviceId(TelephonyManager.java:706)
at org.pgsqlite.SQLitePlugin.getAppKey(SQLitePlugin.java:783)
at org.pgsqlite.SQLitePlugin.executeSqlBatch(SQLitePlugin.java:347)
at org.pgsqlite.SQLitePlugin.executeAndPossiblyThrow(SQLitePlugin.java:195)
at org.pgsqlite.SQLitePlugin.execute(SQLitePlugin.java:93)
at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:95)
at org.apache.cordova.PluginManager.exec(PluginManager.java:130)
at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
Run Code Online (Sandbox Code Playgroud)
感谢这个博客,我发现如果我将targetSdkVersion更改为22,则应用程序的工作方式与以前一样 http://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/EN
和文档演示了如何在运行时问权限: http://developer.android.com/intl/es/training/permissions/requesting.html
关于这个问题,我有几个问题.
这是我的manifest.xml文件.
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0" android:windowSoftInputMode="adjustResize" package="com.myorg.myapp" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" …Run Code Online (Sandbox Code Playgroud)