0

読み込み画面を作成するために非同期タスクを使用していますが、メイン アクティビティにインテントを渡したい場合、アプリがクラッシュします...ここにいくつかのコードがあります:

 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>

ログキャット:

  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 クラスが最初に開始され、ロード画面が表示され、メイン アクティビティにインテントが渡されるはずですが、クラッシュします。

4

2 に答える 2

1

変更する必要があります:

    startActivity(new Intent("HNappActivity")); 

に:

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

また、そのアクティビティはプロジェクトに存在する必要があります。

于 2012-09-24T21:07:45.240 に答える
0

変更

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

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

クラス名の前のドットが重要です。

そして彼らが言ったように、あなたはを使って活動を呼ばなければなりません

  startActivity(new Intent(StartActivity.this, HNappActivity.class));
于 2012-09-25T00:07:11.927 に答える