我正在尝试为BBC新闻制作一个自动收报机小部件,其中大部分工作都在昨晚完美运行,但我遇到了一些问题,使得配置活动的权限正确无误.在重新编写我的Manifest后,一切都没有用,尽管我完全应该知道它应该如何.
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.news.bbcwidget"
android:versionCode="1"
android:versionName="101">
<application
android:label="@string/app_name"
android:icon="@drawable/logo"
android:permission="android.permission.INTERNET"
android:persistent="true"
android:debuggable="true"
android:enabled="true">
<activity
android:name="BBCWidgetConfig"
android:permission="android.permission.INTERNET">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<activity
android:name="Launcher"
android:permission="android.permission.INTERNET" />
<receiver
android:name="BBCNewsWidget"
android:permission="android.permission.INTERNET">
<service
android:permission="android.permission.INTERNET"
android:name="BBCNewsService" />
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:resource="@xml/bbcnews"
android:name="android.appwidget.provider" />
</receiver>
<service android:name="BBCNewsWidget$BBCNewsService" />
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
以下是收到的错误的关键部分:
06-19 20:06:34.339:WARN/ActivityManager(58):权限拒绝:从pid = 58访问服务ComponentInfo {com.news.bbcwidget/com.news.bbcwidget.BBCNewsWidget $ BBCNewsService},uid = 1000需要android. permission.INTERNET
06-19 20:06:34.529:ERROR/AndroidRuntime(247):java.lang.RuntimeException:无法启动接收器com.news.bbcwidget.BBCNewsWidget:java.lang.SecurityException:不允许启动服务Intent { cmp = com.news.bbcwidget/.BBCNewsWidget $ BBCNewsService}未经许可android.permission.INTERNET
06-19 20:06:34.529:ERROR/AndroidRuntime(247):引起:java.lang.SecurityException:不允许启动服务Intent {cmp = com.news.bbcwidget/.BBCNewsWidget $ BBCNewsService}没有权限android.permission.INTERNET
06-19 20:10:51.558:WARN/ActivityManager(58):权限拒绝:从android(pid)广播Intent {act = android.appwidget.action.APPWIDGET_DELETED cmp = com.news.bbcwidget/.BBCNewsWidget(has extras)} = 113,uid = 10000)需要android.permission.INTERNET,因为接收器com.news.bbcwidget/com.news.bbcwidget.BBCNewsWidget
06-19 20:10:51.558:WARN/ActivityManager(58):权限拒绝:广播意图来自android(pid = 113,uid = 10000)的{act = android.appwidget.action.APPWIDGET_DISABLED cmp = com.news.bbcwidget/.BBCNewsWidget}需要android.permission.INTERNET,因为接收器com.news.bbcwidget/com.news .bbcwidget.BBCNewsWidget
它之前提供了"糟糕的过程"错误,但现在似乎停止了.根据我的理解,Manifest将android.permission.INTERNET提供给我的所有服务,活动和AppWidgetProvider,所以我不明白为什么会这样.以前曾经工作过!
干杯!
加
<uses-permission
android:name="android.permission.INTERNET"></uses-permission>
Run Code Online (Sandbox Code Playgroud)
到您的清单节点而不是活动
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.news.bbcwidget"
android:versionCode="1"
android:versionName="101">
<application
....
</application>
<uses-permission
android:name="android.permission.INTERNET"></uses-permission>
</manifest>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5351 次 |
| 最近记录: |