TelephonyManager在android studio上崩溃
我已将eclipse代码转移到android studio,并尝试在studio上执行该项目,但它在TelephonyManager上崩溃。我已经在Theme.Holo.Light上创建了旧代码 我已添加权限:TelephonyManager在android studio上崩溃,android,telephonymanager,Android,Telephonymanager,我已将eclipse代码转移到android studio,并尝试在studio上执行该项目,但它在TelephonyManager上崩溃。我已经在Theme.Holo.Light上创建了旧代码 我已添加权限: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWOR
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Required to show current location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
在清单中添加此权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
那么您在问题中已经提到您已经拥有了
权限。这意味着不会发生
我认为不幸的是,你的android工作室无法正确构建项目。它无法刷新清单以加载权限
因此,尝试重建项目(清理、构建)。如果它没有帮助,你可以尝试一个奇怪的解决方案,从这里似乎是工作
注意,检查整个清单文件。某些包名更改或数据/名称放错位置可能会导致此错误。我已将权限粘贴到应用程序标记下方。我将权限粘贴在应用程序标签上方,一切正常。我在Android Studio(1.4 Beta 4)和运行Android M预览版的Nexus 6上讨论了这个主题 我可以通过运行一次应用程序(接收到异常),然后转到设置->应用程序->我的应用程序->权限来解决问题,其中显示了(惊喜,惊喜!)所有请求的权限和所有权限都已关闭
然后我手动打开所有权限,并再次从Android Studio启动该应用程序。从那时起,权限问题就消失了。如果您的目标是API 23,那么您需要请求任何运行时权限,这些权限来自您的清单:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2) 使用PackageManager在运行时授予所需的权限:
$ adb shell pm grant com.myapp "android.permission.READ_PHONE_STATE"
如果您的目标是API 23,那么您需要请求任何运行时权限。这里有一个解决问题的方法:更改build.gradle文件,将targetSdkVersion的值更改为低于23。花些时间阅读问题。。他已经有了这个许可证,你不应该得到这个错误。你在使用Eclipse吗,有时候它读不到许可证。尝试在清单中更改smth并重建他正在使用android studio,这也是他在问题中提到的!!我试过了,但还是不行。清单文件中有一些东西。你能想出几个原因吗?也可能是样式。我检查过了,当我只测试telephonyManager测试时,它工作正常,但它在应用程序中崩溃了。有什么想法吗??
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
$ adb install -g myapp.apk
$ adb shell pm grant com.myapp "android.permission.READ_PHONE_STATE"