在我的程序当中所出现的现象问题是 
当我的程序在从电通过wifi上传文件到android手机程序时,每传一个文件会弹出一个Activity来,这个Activity是透明的,在onCreate 的时候弹出一个对话框来。传完一个后又关掉一个Activity. 用于显示上传文件时的进度,当上传多个文件的时候, 这个Activity是一次又一次的创建一次又一次的关掉。对话框也是一次一次的弹出来,不过在传多个文件的时候再按home键,这时候回到主界面,这时候会段开跟电脑的连接,不过等2到3秒钟后,刚才的那个程序会又回自动的进行打开。我想问的是。为什么,按home键后,什么都不操作,为什么还会自动的又返回到刚才的那个程序当中。 
我的程序有关的这段代码大概是这样的。 MianActivity界面时。会连接电脑,这进候可以点开始上传,当接收文件时,是一个子线程在接收文件,接收文件的线程当中 启动上传文件的的Activity界面的这个的 Intent progressIntent; progressIntent = new Intent(m_ConManager, ProgressActivity.class); 
progressIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 
| Intent.FLAG_ACTIVITY_NO_ANIMATION 
| Intent.FLAG_ACTIVITY_NO_HISTORY 
| Intent.FLAG_ACTIVITY_NO_USER_ACTION); 
progressIntent.putExtra(ProgressActivity.FILE_NAME, new String( 
m_FileInfo.strFileName)); 
progressIntent.putExtra(ProgressActivity.FILE_SIZE, nTotalSize); 
if (!MoveFileActivity.m_isMoving) { 
m_ConManager.doActivity(progressIntent); 
m_bProgressShown = true; 

else { 
m_bProgressShown = false; 

而这个m_ConManager 对象 是一个服务,这个服务中doActivity函数是这样的 */ 
protected void doActivity(final Intent in) { 
Runnable doActivityRunnable = new Runnable() { 
public void run() { 
startActivity(in); 

}; handler.post(doActivityRunnable); 

而在这个ProgressActivity 创建的时候在onCreate里面是这个创建Dialog的。 
这个Dialog是自己写的继承于AlertDialog 的。其实里面就是加了一个进度条,控制里面的进度,还有何时关闭,还是在ProgressActivity.中有一个HandlerManager 中来控制的, 是在传文件的时候发送Message来做到的。 
不知道我样描术。会不会有人明白。理解。 希望能找到为什么会重新自动跳回程序当中。万分万分的感谢! 

解决方案 »

  1.   

    这调查了很久。但现在只是觉得是以task的原里有关。但具体不知道是怎么回事。
      

  2.   

    大家都忙,没太多时间看你的问题.自己多DEBUG!
      

  3.   

    还有一点,我在Manifest.xml中MainActivity中是配制是这样的
    <activity android:name=".MainActivity" android:label="@string/app_name"
    android:launchMode="singleTop" android:configChanges="orientation" android:screenOrientation="portrait">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    </intent-filter>
    <intent-filter>
    <action android:name="android.intent.action.SEARCH" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>
    而ProgressActivity是这样的
    <activity android:name="jp.co.pfu.android.net.ProgressActivity"
    android:theme="@style/Theme.Transparent" 
    android:configChanges="orientation" >
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    </intent-filter>
    </activity>我觉得是在按下home键后。程序里后台线程并没有停止,当线程掉用到启运Progress时。重新启动一个Task,所以又自动回到了程序。 不知道是 不是这样??有没有方法解决。。