0

我正在使用异步类作为子类。成功成功完成后,我想去一个活动,假设ListActivity。

但是在到达 ListActivity 之后,当我单击“返回”时,它会返回到上一个活动本身。所以我尝试了“完成()”。但我收到一个错误。

我的代码看起来像。

protected void onPostExecute(String result) {

        if(flags.equals(1)){
            Intent homepage = new Intent(GCMIntentService.this, ListActivity.class);
            homepage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(homepage);
            finish();
        }
        else {

任何人都可以知道如何在 Async Subclass 中使用 finish() 吗?

提前致谢

4

2 回答 2

0

启动意图后删除您当前的活动,调用currentActivity.this.finish();

    protected void onPostExecute(String result) {

        if(flags.equals(1)){
            Intent homepage = new Intent(GCMIntentService.this, ListActivity.class);
            homepage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(homepage);
            currentActivity.this.finish()
            ...
         }
于 2013-07-30T15:50:43.713 回答
0

YourClassName.this.finish()其中YourClassName是包含AsyncTask.

编辑: GCMIntentService实际上是 的实例GCMBaseIntentService,而不是Activity. 因此它没有finish()方法。停止服务的正确方法是调用stopSelf()(doc here )。因此,要停止您的服务,您应该调用GCMIntentService.this.stopSelf(). 您可能不需要这样做,因为当您启动新的Activity.

注意: GCMBaseIntentService已弃用,现在最好使用Google Cloud Messaging API

于 2013-07-30T15:51:27.757 回答