2012-09-24 32 views
0

我使用異步任務來創建加載屏幕,但是當我想傳遞的意圖主要活動,應用程序崩潰......這裏的一些代碼:的Android異步任務 - 無活動來處理意圖

public class StartActivity extends Activity { 
    protected boolean _active = true; 
    protected int _splashTime = 5000; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loading_screen); 

    Thread splashThread = new Thread() { 
     @Override 
     public void run(){ 
      try { 
       int waited = 0; 
       while(_active && (waited <_splashTime)) { 
        sleep(100); 
        if(_active) { 
         waited +=100; 
        } 
       } 
      } catch(InterruptedException e) { 
      } finally { 

       startActivity(new Intent("HNappActivity")); 
       finish(); 

      } 
     } 
    }; 
    splashThread.start(); 
    } 

這裏的清單:

<activity 
     android:name=".StartActivity" 
     android:label="@string/title_activity_hnapp" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="HNappActivity"></activity> 

的logcat:

09-24 20:47:06.841: E/AndroidRuntime(556): FATAL EXCEPTION: Thread-10 
    09-24 20:47:06.841: E/AndroidRuntime(556): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=HNappActivity } 
    09-24 20:47:06.841: E/AndroidRuntime(556): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 
    09-24 20:47:06.841: E/AndroidRuntime(556): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
    09-24 20:47:06.841: E/AndroidRuntime(556): at android.app.Activity.startActivityForResult(Activity.java:2827) 
    09-24 20:47:06.841: E/AndroidRuntime(556): at android.app.Activity.startActivity(Activity.java:2933) 
    09-24 20:47:06.841: E/AndroidRuntime(556): at sk.ecopress.hn.android.StartActivity$1.run(StartActivity.java:37) 

StartActivity類首先啓動,它顯示加載屏幕那麼它應該將意圖傳遞給主要活動,但它會崩潰。

回答

1

你需要改變:

startActivity(new Intent("HNappActivity")); 

到:

startActivity(new Intent(StartActivity.this, HNappActivity.class)); 

而且這些活動必須在項目,我假設它確實存在。

+0

哦呼叫活動,我忘了這一點...感謝..和請,主要活動開始時,有像5秒黑屏,而logcat的正在傳播有關Garbace收集器的消息,並在5秒後,加載佈局。在啓動活動恢復的同時,main的活動佈局是否可以加載? –

+0

我不確定我是否理解這個問題。使用您發佈的代碼,您將看到R.layout.loading_screen中的任何內容5秒鐘,然後轉至HNappActivity。 – Bobbake4

+0

是的,在這5秒鐘內,我想加載HNappActivity,然後在5秒鐘後以亞洲語言顯示。因爲現在,5秒通過,那麼加載HNappActivity需要3-4秒,並且在3-4秒之後,顯示活動。所以我想改變這一點。任何想法? –

0

變化

<activity android:name="HNappActivity"></activity> 

<activity android:name=".HNappActivity"></activity> 

前的類名此事的點。

和他們說,必須使用

startActivity(new Intent(StartActivity.this, HNappActivity.class));