gpt4 book ai didi

android - 出错时关闭应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:32 24 4
gpt4 key购买 nike

我目前正在为 Android 平台编写一个应用程序,该应用程序需要已安装的 SD 卡(或 ExternalStorage)。我知道这可能不是要求这样的东西的最佳方式,但该应用程序将处理大量数据,我什至不想考虑将其存储在设备的存储空间中。

无论如何,为了确保应用程序不会在没有外部存储的情况下运行,我快速检查了 Activity 的 onCreate 方法。如果未安装卡,我想显示一条错误消息,然后退出应用程序。

我目前的做法是这样的:

public void onCreate ( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
setContentView( R.layout.main );

try
{
// initialize data storage
// will raise an exception if it fails, or the SD card is not mounted
// ...
}
catch ( Exception e )
{
AlertDialog.Builder builder = new AlertDialog.Builder( this );
builder
.setMessage( "There was an error: " + e.getMessage() )
.setCancelable( false )
.setNeutralButton( "Ok.", new DialogInterface.OnClickListener()
{
public void onClick ( DialogInterface dialog, int which )
{
MyApplication.this.finish();
}
} );
AlertDialog error = builder.create();
error.show();
return;
}

// continue ...
}

当我运行应用程序并引发异常(我手动引发它以检查是否一切正常)时,错误消息正确显示。然而,当我按下按钮时,应用程序关闭并且我收到 Android 错误,应用程序意外关闭(我应该强制退出)。

我之前阅读了一些关于关闭应用程序的主题,我知道它可能不应该那样发生。但是我应该如何阻止应用程序继续运行呢?发生错误时如何正确关闭应用程序?

最佳答案

But how should I instead prevent the application from continuing to run?

完成您当前的 Activity 应该没问题,就像您今天所做的那样。

How do you close the application correctly when an error occurs?

你不知道。您关闭组件( Activity 、服务等)。如果此 Activity 需要 SD 卡,而 SD 卡不可用,请完成此 Activity 。

一般来说,您对 Android“应用程序”的看法越少,而您的 APK 越多地具有松散耦合的组件篮子,就越好。

关于android - 出错时关闭应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com