我有一个使用存储在SD卡上的数据的应用程序,但是我的问题是,我希望在应用程序终止之前显示带有错误消息的对话框。我尝试创建一个不在活动中但在简单类中的对话框。我使用的代码是未知的。对于第一部分和第二部分,每件事都可以。当安装SD卡和我使用nexus谷歌平板电脑时。我希望在该应用程序崩溃之前发出一条消息,表明它们不是SDCard,或者启动另一个用于告诉用户该应用程序需要Sdcard的Activity。我使用的代码如下。我的应用程序在没有SD卡的情况下打印登录崩溃。
public File getRootDirectory()
{
if (this.rootDirectory == null)
{
File sdCardRoot = MainApplication.getInstance().getSDCardRootDirectory();
if (sdCardRoot != null)
{
this.rootDirectory = sdCardRoot;
}
else if(Build.BRAND.equals("google"))
{
this.rootDirectory = Environment.getExternalStoragePublicDirectory(MainApplication.Appli_DIRECTORY);
} else {
Log.d(CLASS_TAG, " their is no carte Sd ");
/**
* I am trying to start a Fail Activity
*/
//Intent intent = new Intent(context, FailActivity.class)
//.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//context.startActivity(intent);
}
Log.i(CLASS_TAG, "Root directory set to :" + this.rootDirectory.getAbsolutePath());
}
return this.rootDirectory;
}
答案 0 :(得分:0)
试试这个
boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(!isSDPresent)
{
// yes SD-card is present
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Sorry,SD Card not Found")
.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
builder.setCancelable(false);
// Create the AlertDialog object and return it
builder.create();
builder.show();
}
答案 1 :(得分:-1)
您可能必须在UI线程中创建警告框。