我正在创建一个后台服务(在它自己的进程中)并且在让它工作时遇到了很多麻烦。我正在尝试在应用程序启动时启动它,并且在日志中出现无法启动服务的意图错误。我一直在浏览论坛、示例(和谷歌),但找不到我做错了什么。
这是我得到的错误:
E/AndroidRuntime(1398): java.lang.RuntimeException: Unable to start service com.test.alarms.AlarmService@41550cb0 with Intent { cmp=xxxx }: java.lang.NullPointerException
在活动中我有:
startService(new Intent(AlarmService.class.getName()));
服务等级是:
package com.test.alarms;
public class AlarmService extends Service{
Context context;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
//code to execute when the service is first created
}
@Override
public void onDestroy() {
//code to execute when the service is shutting down
}
@Override
public void onStart(Intent intent, int startid) {
//code to execute when the service is starting up
Intent i = new Intent(context, StartActivity.class);
PendingIntent detailsIntent = PendingIntent.getActivity(this, 0, i, 0);
NotificationManager notificationSingleLine = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notificationDropText = new Notification(R.drawable.ic_launcher, "Alarm for...", System.currentTimeMillis());
CharSequence from = "Time for...";
CharSequence message = "Alarm Text";
notificationDropText.setLatestEventInfo(this, from, message, detailsIntent);
notificationDropText.vibrate = new long[] { 100, 250, 100, 500};
notificationSingleLine.notify(0, notificationDropText);
}
}
清单文件有:
<service
android:name=".AlarmService"
android:process=":remote">
<intent-filter>
<action android:name="com.test.alarms.AlarmService"/>
</intent-filter>
</service>
谢谢,