如何使用Alert Box?

时间:2013-05-13 08:21:25

标签: android dialog

我有一个使用存储在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;
    }

2 个答案:

答案 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线程中创建警告框。