2014-07-12 73 views
0

計時器不工作。幾秒鐘後,它應該轉到另一個活動計時器在Android中不工作Eclipse

public class intro extends Activity { 
int count=0; 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.intro); 
    final Toast tosta = Toast.makeText(this, String.valueOf(count+"."), Toast.LENGTH_SHORT); 
    final Timer timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 

      @Override 
      public void run() { 
       count++; 

       if(count == 5){ 
        Intent app = new Intent("com.jasrajcomputers.MainActivity"); 
        startActivity(app); 
       } 
      tosta.show(); 
      } 
     }, 1000, 1000); 


}} 

但5秒後,應用程序不幸已停止。

manifext.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.jasrajcomputers" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="16" 
    android:targetSdkVersion="17" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:theme="@style/noactionbarvirat" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".intro" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.jasrajcomputers.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="com.jasrajcomputers.MainActivity" /> 

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

    </manifest> 

MY logcat的:

07-12 12:46:38.979: E/AndroidRuntime(14495): FATAL EXCEPTION: Timer-0 
07-12 12:46:38.979: E/AndroidRuntime(14495): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.jasrajcomputers.MainActivity } 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1697) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1492) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Activity.startActivityForResult(Activity.java:3388) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Activity.startActivityForResult(Activity.java:3349) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Activity.startActivity(Activity.java:3584) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at android.app.Activity.startActivity(Activity.java:3552) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at com.jasrajcomputers.intro$1.run(intro.java:72) 
07-12 12:46:38.979: E/AndroidRuntime(14495): at java.util.Timer$TimerImpl.run(Timer.java:284) 
+0

發表您的logcat的...... – olele

+0

最有可能您的MainActivity是不是在你的清單 –

+1

試試這個方法:意向應用=新意圖(intro.this,MainActivity.class); –

回答

0

只要有

<application 
android:allowBackup="true" 
android:icon="@drawable/ic_launcher" 
android:theme="@style/noactionbarvirat" 
android:label="@string/app_name" > 
<activity 
    android:name=".intro" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" > 

</activity> 
</application> 

使用明確的意圖

Intent app = new Intent(intro.this, MainActivity.class); 

刪除

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.jasrajcomputers.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="com.jasrajcomputers.MainActivity" /> 

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

更新:這裏不需要

定時器。您可以改用Handler

引用文檔

明確意圖指定由名稱啓動組件(該 完全合格的類名)。您通常會使用明確的目標 在您自己的應用中啓動組件,因爲您知道要啓動的活動或服務的類名 。例如,啓動新的 活動以響應用戶操作或啓動服務以在後臺下載 文件。

0

使用Handler

new Handler().postDelayed(new Runnable(){ 
@Override 
public void run() { 
    Intent app = new Intent("com.example.MainActivity"); 
    startActivity(app); 
    } 
}, 5000); 
0

嘗試更換此代碼:

Intent app = new Intent("com.jasrajcomputers.MainActivity"); 

有了這個代碼:

Intent app = new Intent(intro.this,MainActivity.class); 

注:

MainActivity must be define in AndroidManifest.xml