Android: 无法实例化服务...无法实例化类com.stocktickerwidget.AppWidget$UpdateService;没有空构造函数。

3

请帮忙。

Android:无法实例化服务...无法实例化类com.stocktickerwidget.AppWidget $ UpdateService;没有空构造函数

我遇到了上述错误,

我不明白原因。

谢谢。

public class UpdateService extends Service {
    public UpdateService() {
       //
        }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.e("", "onStartCommand di AppWidget");
        int[] appWidgetIds = intent.getIntArrayExtra("widgetsids");
        final int N = appWidgetIds.length;
        AppWidgetManager manager = AppWidgetManager.getInstance(this);

        // Perform this loop procedure for each App Widget that belongs to
        // this provider

        for (int i = 0; i < N; i++) {
            int appWidgetId = appWidgetIds[i];
            Log.e("",
                    "i=" + Integer.toString(i) + " di "
                            + Integer.toString(N));
            RemoteViews view = buildUpdate(getApplicationContext(),
                    appWidgetIds);

            // Tell the AppWidgetManager to perform an update on the current
            // app widget
            manager.updateAppWidget(appWidgetId, view);

        }
        return (START_NOT_STICKY);

    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
}
1个回答

10

首先,删除您的构造函数,因为您从 Service 继承了一个公共的零参数构造函数。

然后,将其作为一个 static 内部类,或者作为一个独立的公共 Java 类。您不能在这里使用常规内部类,因为 Android 没有办法创建该内部类的实例。


2
静态内部类也应该是公共的。 - Vikas Patidar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接