私のアプリが一度クラッシュしてアプリに入って、携帯電話の「戻る」ボタンを押してから、もう一度アプリに入るという問題があります。私は何らかの状態や何か間違っていると思っています:Androidのバックボタンがクラッシュしますか?
package com.animeus;
import com.animeus.Factories.CameraDialogsFactory;
import com.animeus.Factories.CameraFactory;
import com.animeus.Services.CameraService;
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
public class LightBulbActivity extends Activity {
/** Called when the activity is first created. */
Camera c;
//Application starts here
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loadComponentsToUse();
setComponentEvents();
if (c == null)
CameraDialogsFactory.GetNoCameraFoundDialog(this).show();
else
setComponentEvents();
}
//Sets all the components events
private void setComponentEvents() {
View v = (View)findViewById(R.id.LightBulbView);
v.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
triggerLightEvent(event.getAction());
return false;
}
});
}
//Turns the led on or off
private void triggerLightEvent(int currentevent) {
if (currentevent == MotionEvent.ACTION_DOWN)
CameraService.turnLedLightOn(c);
else if (currentevent == MotionEvent.ACTION_UP)
{
CameraService.turnLedLightOff(c);
}
}
//Loads the "global" components we are supposed to use
private void loadComponentsToUse() {
c = CameraFactory.getCamera();
}
//Called once the activity ain't visible for the user anymore
@Override
public void onStop() {
super.onStop();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
super.onResume();
}
}
アイデア? 私はまた、 "onPause"と "onStop"でカメラをリリースし、カメラ "onResume"を再作成しようとしましたが、それでもアプリケーションがクラッシュする原因になります...
と私は知っています。 ..あなたがコードの詳細が必要な場合は、私に知らせてください
ありがとうございます!
が、私は人々がで自分のcameraseを配置見てきた:あなたは、あなたの
onPause()
でこれを置くことができ:
あなたはそのようなバックボタンを無効にすることができますonPauseイベント。アンドロイドが未知のものでどうやって混乱するかはあなた次第です: – fjdumont
スタックトレースまたはいくつかのログがありますか? – AlexS