第二次活动将不会打开当发射活动在后台

问题描述:

我有两个相关的活动:MainShowResult。第二个从Main的线程启动。这很好,但只要Main在后台,活动将不会打开。 Logcat不显示任何异常。第二次活动将不会打开当发射活动在后台

清单:

<activity 
     android:name="com.....ShowResultActivity" 
     android:launchMode="singleTop" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" > 
    </activity> 

    <activity 
     android:name="com......MainActivity" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape" 
     android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

处理程序的线程级/从线程执行内部:

iOpen = new Intent(context, ShowResultActivity.class); // is written in the constructor 
Bundle b = new Bundle(); // global 

b.putInt("type", 1); 
b.putString("url", value); 
iOpen.putExtras(b); 
context.startActivity(iOpen); 

ShowResult:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    onNewIntent(getIntent()); 
} 

@Override 
public void onNewIntent(Intent i) { 
    Bundle b = i.getExtras(); 
    int value = b.getInt("type"); 
    String url = b.getString("url"); 

    Log.e("opened :)", value+" "+url); 

    if(value == 0) { 
     showPictureAsync(url); 
    } else if (value == 1) { 
     showVideoAsync(url); 
    } 

} 
+0

我的猜测:你的线程在可以触发该活动之前被杀死。但可以肯定的是:当另一个在后台时,前台究竟是什么? – WarrenFaith 2013-03-23 19:03:59

+0

没有该线程仍处于活动状态,并响应播放音乐等其他内容。它也显示我想传递的网址。 什么是前景,但测试我用库存画廊无所谓。 – bluewhile 2013-03-23 19:05:22

+0

好吧,你真的关闭了应用程序本身(主页按钮,后退按钮,以往) – WarrenFaith 2013-03-23 19:06:23

添加到您的代码

iOpen.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(iOpen); 
+0

仍然不起作用 – bluewhile 2013-03-23 19:31:19

+0

真的吗?我测试过,我只用一个按钮做了一个简单的活动。对于这个按钮onClick我只是做一个新的线程和睡眠5秒,然后启动下一个活动。点击按钮后,我按回家。没有国旗的情况下,什么也没有发生,但随着国旗第二次活动在几秒钟之后才开始。 – 2013-03-23 19:35:59

+0

我为什么要说谎?它不能以什么理由工作。 – bluewhile 2013-03-23 19:41:10