我有问题,我不知道原因,所以当在POST中的asynctask调用后运行我的应用程序时我改变了活动,当新的Activity将主要内容设置到屏幕时,应用程序崩溃了任何日志。
activty chages代码是用asynctask的onPostExecute方法编写的,我试图在另一个调用runOnUIThread方法的线程中执行此操作,但是没有工作。 我看到的唯一日志:
03-10 12:03:20.312: I/MyHttpClient(3160): HTTPResponse received in [1210ms]
03-10 12:03:20.367: I/my.app.package.ActivationActivity(3160): SendActivation onPostExecute: ActivationResponse [my.app.result.json.with.SUCCESS:result.code]
03-10 12:03:25.398: D/OpenGLRenderer(3160): Flushing caches (mode 0)
编辑:现在我已经更改了一些类和对象的名称,但代码对我不起作用
class MyAsincTask extends AsyncTask<String, Void, String>
{
private Exception exception;
private Gson gson;
protected void onPostExecute(String response) {
hideProgressDialog();
if (exception != null) {
//deleted log code here
} else if (response != null) {
// I manage the json response from the server
try {
// I manage the json response
// determining if the server call was SUCCESS or ERROR
if (resultCode.equals(Constants.RESULT_ERROR)) {
//deleted log code here
}else if (resultCode.equals(Constants.RESULT_SUCCESS)) {
launchRegistration(); // I enter Here and then crashes
}
} catch (Exception e) {
//deleted log code here
}
//deleted log code here
} else {
//deleted log code here
}
}
}
protected void launchRegistration(){
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent mIntent = new Intent(mContext, ActivityToOpen.class);
mIntent.setAction(Constants.ACTION_TO_OPEN_ACTIVITY);
mIntent.putExtra(Constants.SOME_EXTRA, extras);
startActivity(mIntent);
finish();
}
});
}
在其他活动中,asynctask类在其他活动类中是内部的。这个代码对我来说可以在很多最近的设备上工作,使用recdent硬件和最新版本,如4.4和5和4.3,但问题出现在4.0和4.1的其他设备中,硬件资源较少。
答案 0 :(得分:0)
`<activity android:name="com.example.Activity"
android:excludeFromRecents="true"
android:icon="@drawable/app_icon"
android:label="@string/wizard.welcome.title"
android:theme="@style/Theme.NoDisplay" /> `
我所做的错误是在清单声明中,某些活动的主题“NoDisplay”在最新版本的android中不起作用,但在以前的版本中有效。为此我有一个问题。 感谢