0

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

2 回答 2

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();


    }
于 2013-05-13T08:31:31.967 回答
-1

可能您必须在 UI 线程中创建警报框。

于 2013-05-13T08:25:07.903 回答