1

受信トレイから sms を削除するプロジェクトを作成しています。ほとんどの場合は正常に動作しますが、奇妙な例外が発生することがあります。これは例外のスタック トレースです。

01-23 16:41:20.016: E/AndroidRuntime(7328): FATAL EXCEPTION: main
01-23 16:41:20.016: E/AndroidRuntime(7328): android.database.sqlite.SQLiteException: error code 14: unable to open database file
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:146)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.content.ContentProviderProxy.delete(ContentProviderNative.java:503)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.content.ContentResolver.delete(ContentResolver.java:723)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at com.velosys.smsManager.Database.DatabaseHandlerRule.DeleteMessagesFromInbox(DatabaseHandlerRule.java:1441)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at com.velosys.smsManager.Database.DatabaseHandlerRule.deleteContactOnBasisOfTime(DatabaseHandlerRule.java:1375)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at com.velosys.smsManager.Activities.SplashActivity$2.run(SplashActivity.java:132)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.os.Handler.handleCallback(Handler.java:618)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.os.Handler.dispatchMessage(Handler.java:123)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.os.Looper.loop(SourceFile:351)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at android.app.ActivityThread.main(ActivityThread.java:3850)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at java.lang.reflect.Method.invokeNative(Native Method)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at java.lang.reflect.Method.invoke(Method.java:538)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659)
01-23 16:41:20.016: E/AndroidRuntime(7328):     at dalvik.system.NativeStart.main(Native Method)

これは、受信トレイからSMSを削除して例外を取得している行です:

l_contentResolver.delete(deleteUri, "address = ?" +" AND "+"date = ?",
                    new String[] {PhoneNumber,String.valueOf(DateandTime)}); 

これはdeleteUriです:

Uri deleteUri = Uri.parse("content://sms");

これは l_contentResolver です。

ContentResolver l_contentResolver = activity.getContentResolver();

この例外についてよく調べましたが、コードでこの理由を理解することはできません。助けてください。よろしくお願いします。

4

1 に答える 1

1

これはあなたのコードの問題ではないと思います。まれにしか発生しない場合は、SMS を管理する ContentProvider のエラーです。

SMS API は Android API の公開部分ではないため、この問題に関する何らかのドキュメントや、これを Android バグとして報告する場所はないと思います。

しばらくしてからメッセージの削除を再試行してください。

于 2013-01-23T11:53:44.933 に答える