getContentResolver().delete() throws IllegalArgumentException sporadically












0














We released a beta of our product, it works for most users, but one user with OnePlus 5T/Android 8.1 reports a sporadic exception:



java.lang.RuntimeException: Unable to resume activity {com.ourproduct/com.ourproduct.MainActivity}: java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3726)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3766)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1737)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by:java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.content.ContentResolver.delete(ContentResolver.java:1745)
<... here is our code stacktrace ...>


I contacted the user and got some additional info: the issue does not happen every time he uses the operation, just sometimes.



The content provider is defined in the same application.



The code is trivial, just for completeness of the question:



protected void unsetValue(final String group, final String name) {
myContext.getContentResolver().delete(
uri("delete"), null, new String { group, name }
);
}

private Uri uri(String location) {
return Uri.parse("content://com.ourproduct.data/" + location);
}


Any ideas? Maybe I can ask the user for some additional info?










share|improve this question






















  • Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
    – Ben P.
    Nov 12 at 15:46










  • An internet connection? For a "content://" URI?
    – Nikolay
    Nov 12 at 15:49










  • Oh, yeah, ok. I was thinking you were doing an http DELETE call
    – Ben P.
    Nov 12 at 15:53










  • are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
    – marmor
    Nov 21 at 8:46










  • "ourproduct" is a placeholder. The real code contains the real name.
    – Nikolay
    Nov 24 at 9:09
















0














We released a beta of our product, it works for most users, but one user with OnePlus 5T/Android 8.1 reports a sporadic exception:



java.lang.RuntimeException: Unable to resume activity {com.ourproduct/com.ourproduct.MainActivity}: java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3726)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3766)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1737)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by:java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.content.ContentResolver.delete(ContentResolver.java:1745)
<... here is our code stacktrace ...>


I contacted the user and got some additional info: the issue does not happen every time he uses the operation, just sometimes.



The content provider is defined in the same application.



The code is trivial, just for completeness of the question:



protected void unsetValue(final String group, final String name) {
myContext.getContentResolver().delete(
uri("delete"), null, new String { group, name }
);
}

private Uri uri(String location) {
return Uri.parse("content://com.ourproduct.data/" + location);
}


Any ideas? Maybe I can ask the user for some additional info?










share|improve this question






















  • Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
    – Ben P.
    Nov 12 at 15:46










  • An internet connection? For a "content://" URI?
    – Nikolay
    Nov 12 at 15:49










  • Oh, yeah, ok. I was thinking you were doing an http DELETE call
    – Ben P.
    Nov 12 at 15:53










  • are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
    – marmor
    Nov 21 at 8:46










  • "ourproduct" is a placeholder. The real code contains the real name.
    – Nikolay
    Nov 24 at 9:09














0












0








0







We released a beta of our product, it works for most users, but one user with OnePlus 5T/Android 8.1 reports a sporadic exception:



java.lang.RuntimeException: Unable to resume activity {com.ourproduct/com.ourproduct.MainActivity}: java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3726)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3766)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1737)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by:java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.content.ContentResolver.delete(ContentResolver.java:1745)
<... here is our code stacktrace ...>


I contacted the user and got some additional info: the issue does not happen every time he uses the operation, just sometimes.



The content provider is defined in the same application.



The code is trivial, just for completeness of the question:



protected void unsetValue(final String group, final String name) {
myContext.getContentResolver().delete(
uri("delete"), null, new String { group, name }
);
}

private Uri uri(String location) {
return Uri.parse("content://com.ourproduct.data/" + location);
}


Any ideas? Maybe I can ask the user for some additional info?










share|improve this question













We released a beta of our product, it works for most users, but one user with OnePlus 5T/Android 8.1 reports a sporadic exception:



java.lang.RuntimeException: Unable to resume activity {com.ourproduct/com.ourproduct.MainActivity}: java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3726)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3766)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1737)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by:java.lang.IllegalArgumentException: Unknown URL content://com.ourproduct.data/delete
at android.content.ContentResolver.delete(ContentResolver.java:1745)
<... here is our code stacktrace ...>


I contacted the user and got some additional info: the issue does not happen every time he uses the operation, just sometimes.



The content provider is defined in the same application.



The code is trivial, just for completeness of the question:



protected void unsetValue(final String group, final String name) {
myContext.getContentResolver().delete(
uri("delete"), null, new String { group, name }
);
}

private Uri uri(String location) {
return Uri.parse("content://com.ourproduct.data/" + location);
}


Any ideas? Maybe I can ask the user for some additional info?







android android-contentprovider android-contentresolver






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 12 at 15:41









Nikolay

185




185












  • Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
    – Ben P.
    Nov 12 at 15:46










  • An internet connection? For a "content://" URI?
    – Nikolay
    Nov 12 at 15:49










  • Oh, yeah, ok. I was thinking you were doing an http DELETE call
    – Ben P.
    Nov 12 at 15:53










  • are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
    – marmor
    Nov 21 at 8:46










  • "ourproduct" is a placeholder. The real code contains the real name.
    – Nikolay
    Nov 24 at 9:09


















  • Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
    – Ben P.
    Nov 12 at 15:46










  • An internet connection? For a "content://" URI?
    – Nikolay
    Nov 12 at 15:49










  • Oh, yeah, ok. I was thinking you were doing an http DELETE call
    – Ben P.
    Nov 12 at 15:53










  • are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
    – marmor
    Nov 21 at 8:46










  • "ourproduct" is a placeholder. The real code contains the real name.
    – Nikolay
    Nov 24 at 9:09
















Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
– Ben P.
Nov 12 at 15:46




Looks like that exception is thrown when the ContentResolver can't get a ContentProvider for the given URI. My best guess is that this happens when the user doesn't have an internet connection.
– Ben P.
Nov 12 at 15:46












An internet connection? For a "content://" URI?
– Nikolay
Nov 12 at 15:49




An internet connection? For a "content://" URI?
– Nikolay
Nov 12 at 15:49












Oh, yeah, ok. I was thinking you were doing an http DELETE call
– Ben P.
Nov 12 at 15:53




Oh, yeah, ok. I was thinking you were doing an http DELETE call
– Ben P.
Nov 12 at 15:53












are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
– marmor
Nov 21 at 8:46




are you really trying to delete a resource called delete - content://com.ourproduct.data/delete ? or have you masked the real uri resource name?
– marmor
Nov 21 at 8:46












"ourproduct" is a placeholder. The real code contains the real name.
– Nikolay
Nov 24 at 9:09




"ourproduct" is a placeholder. The real code contains the real name.
– Nikolay
Nov 24 at 9:09

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265494%2fgetcontentresolver-delete-throws-illegalargumentexception-sporadically%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265494%2fgetcontentresolver-delete-throws-illegalargumentexception-sporadically%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python