我知道有类似的问题已被提出但没有一个对我有帮助。如果我指向一个有解决方案的链接,我会非常高兴。无论如何,每次我安装我在Android模拟器上开发的小部件时,我都会收到错误。
错误状态
ERROR / AndroidRuntime(866):java.lang.RuntimeException:无法实例化接收器com.ifractal.firstwidget.FirstWidget:java.lang.NullPointerException
以下是相关代码
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ifractal.firstwidget"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".FirstWidget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIGET_ENABLE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/provider"
/>
</receiver>
</application>
这是我在eclipse中的项目布局(显示文件在那里)
我尝试使用不同的名称,清洁/构建以及其他一些东西重新创建项目,但没有任何效果。我感谢您提供给我的任何帮助,如果需要,我愿意提供更多信息。感谢。
答案 0 :(得分:1)
清单对我来说很好看。你在FirstWidget中得到一个NPE,所以你需要调查那个类。检查堆栈跟踪并查看抛出异常的确切位置。它可能是构造函数吗?
答案 1 :(得分:0)
检查您的应用窗口小部件类是否不是抽象的。 下面是一个典型的应用程序窗口小部件类声明:
public class AppWidget extends AppWidgetProvider{
// ...
}