Android运行时错误:打开跟踪文件时出错:没有这样的文件或目录(2)

时间:2014-05-04 18:28:25

标签: java android

我做了一些搜索,发现人们最终得到了和我一样的错误,但是在一个完全不同的背景下:(

所以,我正试图让我的应用程序在发生关键事件时优雅地退出。它是一个使用相机的Android应用程序,我希望应用程序在显示吐司文本后退出,因此用户不会随机崩溃。 (是的,理论上我不应该在if语句中结束,因为我需要在清单中使用相机硬件,但我喜欢尽可能地处理错误)

这是清单文件的一小部分:

<uses-permission android:name="android.permission.CAMERA" />

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

这是我的代码:

public class MainActivity extends Activity {
/* member variables... */

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Create an instance of Camera
    // I forced this to true for testing because the devices I'm testing
    // against won't reach inside the if statement
    if (/*!(checkCameraHardware(this) || checkFrontFacingCameraHardware(this))*/ true)  {
        Toast.makeText(getBaseContext(), "Shutting Down! No Camera Detected!", Toast.LENGTH_SHORT).show();
        System.exit(0); // This is the last code it reaches
    }
    mCamera = getCameraInstance(); // This code isn't reached

正如您所看到的,我希望代码能够进行干杯,然后关闭,但它会被卡在空白(黑色)屏幕中(在System.exit(0)之后或之后),重复以下错误而在Log Cat中。

Tag: Trace, Text: error opening trace file: No such file or directory (2)

我错过了什么吗?我可以不在OnCreate()函数中退出或吐司吗?

1 个答案:

答案 0 :(得分:1)

请勿使用System.exit(0)

https://groups.google.com/forum/#!topic/android-developers/G_D3pKnGLt0

引用Romain Guy
  

用户没有,系统会自动处理。那是   活动生命周期(特别是onPause / onStop / onDestroy)是什么   对于。无论你做什么,都不要放"quit""exit"   应用。它与Android的应用程序模型无关。这也是   与核心应用程序的工作方式相反。

关于同样的@

有详细的答案

Is quitting an application frowned upon?

您还可以阅读相关的主题@

https://groups.google.com/forum/#!topic/android-developers/G_D3pKnGLt0