2012-09-24 41 views
0

我想要一个单一的活动,但是从很多地方意图被解雇,这些意图有时也可以在10秒内被称为两次......从许多地方向很多地方发射许多意图(一个例子)

重点是我想只有一个单一的活动,每次当一个新的意图来我只想刷新活动的贵州状态

我该怎么做?

我把机器人:launchMode = “singleTask” 和singleinstance但问题是,onNewIntent完全不叫......

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    refreshGuiState(); 
} 

编辑

<activity android:name="MyActivity" 
     android:launchMode="singleTask" 

    android:theme="@android:style/Theme.Translucent.NoTitleBar" 
     android:screenOrientation="portrait" android:label="@string/app_name" 
     > 
    </activity> 

    Intent i=new Intent(MyApp.myContext, MyActivity.class); 
      MyApp.myContext.startActivity(i); 
+0

发布您的清单。此外,这些意图来自哪里?从这个任务内?从许多其他任务?从后台服务? –

+0

来自很多任务,我对活动的定义应该如何在清单中看起来像?,我没有可用的代码,我需要一个,所以如果您可以发布内容,谢谢 – Lukap

+0

是否创建了多个活动实例?添加日志记录来检查。如果你有一些解决方案,请给我一个尖子我应该怎么做才能使它工作,如果你不知道如何解决这个问题,那么不要发垃圾邮件,我会发布你使用的代码来释放intents –

回答

0

添加android:taskAffinity=""的清单定义对于MyActivity

即使您已为此活动指定launchMode="singleTask",但如果您未明确指定taskAffinity你不会结束一个单独的任务。