Question

The original name of the content provider authority that works fine with no errors:

public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider12;


I want rename my authority to:

public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider;

When I change the name to the above I get this error.

Caused by: java.lang.StringIndexOutOfBoundsException: length=68; index=70


public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider1;

When I change the name to the above I get this error.

Caused by: java.lang.StringIndexOutOfBoundsException: length=69; index=70


If I rename the package to com.dakotastream.cardiologger12, then I can use the

public static final String AUTHORITY = com.dakotastream.cardiologger12.CardioLoggerProvider; with no errors.


The Authority seems to require a string length greater than 69 characters.

I am using SDK Tools 22.6.3, API 19, ABS Library 4.4.0

I have tried creating a new Android Application Project and dropping the code in. I get the same error.


Entire LogCat Dump:

FATAL EXCEPTION: ModernAsyncTask #1
Process: com.dakotastream.cardiologger, PID: 1344
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.support.v4.content.ModernAsyncTask$3.done(ModernAsyncTask.java:137)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.StringIndexOutOfBoundsException: length=68; index=70
at java.lang.String.indexAndLength(String.java:584)
at java.lang.String.substring(String.java:1449)
at com.dakotastream.cardiologger.DbContentProvider.query(DbContentProvider.java:279)
at android.content.ContentProvider.query(ContentProvider.java:857)
at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
at android.content.ContentResolver.query(ContentResolver.java:461)
at android.content.ContentResolver.query(ContentResolver.java:404)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:49)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:35)
at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:242)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:51)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:40)
at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:123)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)

In Eclipse I use Android Tools>Rename Application Package to change the name. This is the error I get when I change the name.

Was it helpful?

Solution

Update the android:authorities tag accordingly for the provider in the manifest.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top