Używasz
private static final String AUTHORITY = "com.example.todos.contentprovider";
// It should same as you defined in manifest
Więc to
Caused by: java.lang.IllegalArgumentException: Unknown URL content://com.example.todos.contentprovider/todos
Upewnij się więc, że zdefiniowałeś swój ContentProvider
z tym samym authority
w manifest.xml
<provider
android:authorities="com.example.todos.contentprovider"
android:name=".YOUR_ContentProvider" >
</provider>
Mam nadzieję, że to zadziała dla Ciebie.