3

在我的应用程序中,我正在使用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));
    }       
}
4

1 回答 1

6

在清单文件中使用 launchMode 标记

  <activity
        android:name=".ActivityName"

        android:launchMode="singleTask"  />

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

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

于 2012-07-07T06:56:41.390 回答