1

時々、 Exception.java.io.FileNotFoundException, file open failed: EROFS (Read-only file System) が発生します。マニフェストに WRITE_EXTERNAL_STORAGE 権限があります。サービスを実行しているときに、これらの例外が発生し、いくつかの操作が成功しませんが、デバイスを再起動すると正常に動作します。「Exception.java.io.FileNotFoundException」例外をキャッチし、プログラムでデバイスを再起動したいと考えています。私のデバイスはルート化されているため、プログラムで「su -c reboot」を実行します。

「 File open failed: EROFS 」例外をキャッチして再起動をトリガーする方法を知る必要があります??

4

1 に答える 1

0

あなたの問題を解決します:

    try{
        do whatever
    }catch(FileNotFoundException ex){
        if("EROFS ( Read- only file System)".equals(ex.getMessage())){
           call code for reboot 
        }
    }

エラーメッセージを置き換えるか、スキップすることもできます

編集: - コメントに基づく

    try{
        do whatever
    }catch(IOException ex){
        if((ex instanceof FileNotFoundException) &&  "EROFS ( Read- only file System)".equals(ex.getMessage())){
           call code for reboot 
        }
    }
于 2013-08-24T13:45:50.380 に答える