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

时间:2013-03-27 13:49:57

标签: android service constructor

请帮忙。

Android: Unable to instantiate service...can't instantiate class com.stocktickerwidget.AppWidget$UpdateService; no empty constructor

我收到上面的错误,

我不明白为什么。

谢谢

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 个答案:

答案 0 :(得分:10)

首先,删除构造函数,从Service继承公共零参数构造函数。

然后,要么使它成为static内部类,要么使其成为独立的公共Java类。你不能在这里使用常规内部类,因为Android无法创建该内部类的实例。