【发布时间】:2012-05-03 06:00:23
【问题描述】:
我的 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>
主活动:
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;
}
}
另一个活动:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//just make sure this activity was started
Log.d("tag", "another activity started");
}
但是日志只显示“另一个活动开始了”。
【问题讨论】:
-
我认为你必须崩溃,因为你的异步任务有问题
-
但似乎没有任何崩溃。输出中没有任何错误。但是,任务运行。并安装了数据库。
-
你试过@autobot_101的建议
-
我做了,正如我回复他的帖子一样
-
正在启动另一个活动
标签: android android-intent android-activity launch