无法启动服务[服务名称]与空 [英] Unable to start service [service name] with null

查看:212
本文介绍了无法启动服务[服务名称]与空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近codeD一款Android窗口小部件和仿真器,以及我的Galaxy S测试它,它工作得很好两个,以后我张贴同样的到Android市场现在我得到了一些错误报告。

i recently coded a Android Widget and tested it on Emulator as well as my Galaxy S , it worked fine on both, after i posted the same to android market now i am getting some error reports.

我在控件类的OnUpdate中这样陈述一个服务:

i am stating a service in the onUpdate of Widget Class like this:

if (appWidgetIds != null) {
    final int N = appWidgetIds.length;

    // Perform this loop procedure for each App Widget that belongs to
    // this
    // provider
    for (int i = 0; i < N; i++) {
        // Start Service for each instance
        int appWidgetId = appWidgetIds[i];
        Intent active = new Intent(context, DialerService.class);
        active.setAction("Start");
        active.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
                appWidgetId);

        context.startService(active);
    }
}

这部分人所得到的错误是:

the error which some people are getting is:

java.lang.RuntimeException: Unable to start service dialer.impact.DialerService@45f926f0 with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3282)
at android.app.ActivityThread.access$3600(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2211)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
**at dialer.impact.DialerService.onStart(DialerService.java:18)**
at android.app.Service.onStartCommand(Service.java:420)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3267)
... 10 more

错误指出一个 NullPointerException异常在第18行的 ServiceClass 这是这样的:

error states a NullPointerException on line 18 of the ServiceClass which is this:

@Override
public void onStart(Intent intent, int startId) {
    //Line 18th 
            String command = intent.getAction();
    int appWidgetId = intent.getExtras().getInt(
            AppWidgetManager.EXTRA_APPWIDGET_ID);
    RemoteViews remoteView = new RemoteViews(getApplicationContext()
            .getPackageName(), R.layout.main);
    AppWidgetManager appWidgetManager = AppWidgetManager
            .getInstance(getApplicationContext());
}

第18行是字符串命令= intent.getAction();

可能是什么意图是空的原因 请大家帮忙

what could be the reason for intent being null please help

推荐答案

据为<一个文档href="http://developer.android.com/reference/android/app/Service.html#onStart%28android.content.Intent,%20int%29"><$c$c>onStart() (实际上 onStartCommand()但参数是相同的):

According to the documentation for onStart() (actually onStartCommand() but the parameters are the same):

意图的提供给startService(意向),给出的意图。 这可能是空如果该服务被   重新启动后,它的过程已经   程,它已经previously返回   任何东西,除了   START_STICKY_COMPATIBILITY。

intent The Intent supplied to startService(Intent), as given. This may be null if the service is being restarted after its process has gone away, and it had previously returned anything except START_STICKY_COMPATIBILITY.

这篇关于无法启动服务[服务名称]与空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆