Androidアプリが間違った動作を開始したようです。アプリが間違ったアクティビティで起動する
のAndroidManifest.xmlからの重要な部分:
"MainActivity" アプリの起動時に開始された活動でなければなりません:
<activity android:name=".MainActivity" 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="AnotherActivity"
android:label="@string/app_name">
</activity>
MainActivity:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//display into log that THIS activity is started
Log.d("tag", "MainActivity");
//start async task to install the database on first startup
progressDialog = ProgressDialog.show([params...]);
new InstallDatabaseTask().execute(this);
}
/**
* 1. Installs and initializes the database.
* 2. Opens another activity.
*/
private class InstallDatabaseTask extends AsyncTask {
@Override
protected Object doInBackground(Object... params) {
progressDialog.show();
//open database so it can be installed
MyOpenHelper helper = new MyOpenHelper((Context) params[0]);
helper.getWritableDatabase().close();
//dismiss progress dialog
MainActivity.this.progressDialog.dismiss();
//start another activity
Intent intent = new Intent(MainActivity.this, AnotherActivity.class);
((Context)params[0]).startActivity(intent);
return null;
}
}
AnotherActivity:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//just make sure this activity was started
Log.d("tag", "another activity started");
}
しかし、ログには「別のアクティビティが開始されました」だけが表示されます。
私はあなたに非同期タスクに問題があるのでクラッシュする必要があると思います –
しかし、何かがクラッシュするように思える。出力にエラーがないようにしてください。しかし、タスクが実行されます。データベースがインストールされています。 –
あなたは@ autobot_101 suggesstionを試してみました –