我有一个包含服务方法的警报服务的服务类。这些方法在警报服务被激活时被调用。我想要做的是在服务类中调用的这些方法之一中调用另一个类的意图(当警报响起时)。它所做的只是在调用意图时标记错误。这只发生在激活警报服务时调用的方法中(服务类中的方法)。这是因为类extends Service
而不是extends Activity
?我不确定,有什么想法吗?
onStart
(下面是我的服务类,当在应用程序强制关闭的方法中调用另一个活动的意图时。)
public class MyAlarmService extends Service {
@Override
public void onCreate() {
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onCreate()", Toast.LENGTH_LONG).show();
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onBind()", Toast.LENGTH_LONG).show();
return null;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Toast.makeText(this, "MyAlarmService.onDestroy()", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG).show();
//////////////////////////////////////////////////////////////////////////////////
Intent i = new Intent("com.exercise.AndroidAlarmService.HELLO");
startActivity(i);
The intent that is send to open another class, an activity.
**
/////////////////////////////////////////////////////////////////////////////////
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(this, "MyAlarmService.onUnbind()", Toast.LENGTH_LONG).show();
return super.onUnbind(intent);
}
}
LogCat 上的这些错误之一是:
06-24 01:11:36.857: E/AndroidRuntime(10805): java.lang.RuntimeException: 无法使用 Intent { flg=0x4 cmp=com.exercise.AndroidAlarmService/ 启动服务 com.exercise.AndroidAlarmService.MyAlarmService@412f23f8。 MyAlarmService(有附加功能)}:android.util.AndroidRuntimeException:从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?