无法在Android中启动服务

时间:2011-08-17 19:03:54

标签: java android

我制作了一个用于阅读新闻项目的小工具。如果我把一个小部件放在我的主屏幕上,一切都很好。但是如果我在我的主屏幕上放置一个seconde并且我将其删除,那么小部件的服务就会停止。因此,如果窗口小部件进入更新方法,则会发生错误。

java.lang.RuntimeException: Unable to start service news.WidgetActivity$UpdateService@405231d8 with Intent { flg=0x10000000 cmp=news/.WidgetActivity$UpdateService bnds=[26,97][79,151] }: java.lang.NullPointerException

nullpointer就在这一行:

RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);

这里是代码:

public static class UpdateService extends Service {
    @Override
    public void onStart(Intent intent, int startId) {

        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);

        remoteViews.setViewVisibility(R.id.WidgetRefresh_btn, View.GONE);
        remoteViews.setViewVisibility(R.id.progressWidget, View.VISIBLE);

        appWidgetManager.updateAppWidget(appWidgetId, remoteViews);

        WidgetActivity.Widget.onUpdate(context, appWidgetManager, appWidgetIds);

    }

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
}   

1 个答案:

答案 0 :(得分:2)

您的context对象可能为空。由于您的服务范围为Context,因此您也可以使用this.getPackageName()getPackageName()代替。

相关问题