从IntentService类调用Activity时出现的问题

时间:2012-07-07 06:52:46

标签: android

在我的应用中,我使用IntentService类在后台启动另一项活动。但我得到的问题是假设我从IntentService课程开始我的活动,这会打开我的活动,之后我就不会关闭我的活动。然后我注意到,当IntentService类再次想要开始我的同一活动时,它不被调用,因为相同的活动不接近。所以我的问题是我怎样才能一次又一次地开始相同的活动,无论它是IntentService类是开放还是接近。

IntentService类中的代码

public class AlarmService extends IntentService
{       

    public void onCreate() {
        super.onCreate();
    }

    public AlarmService() {
        super("MyAlarmService");
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        super.onStartCommand(intent, startId, startId);
        return START_STICKY;
    }

    @Override
    protected void onHandleIntent(Intent intent) {          
        startActivity(new Intent(this, 
            AlarmDialogActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
    }       
}

1 个答案:

答案 0 :(得分:6)

在清单文件中使用launchMode标记

  <activity
        android:name=".ActivityName"

        android:launchMode="singleTask"  />

如果已经可用,它将不会创建不同的活动实例。

请参阅此链接launchMode以便更好地理解