Deosnt recognize ContactsPickerActivity.class
Opened this issue · 8 comments
gives an error saying class not found. Imported your library using gradle. A bit new to all this..
@nicknagi I had the same problem. I think there's an issue with the upload function because Gradle reports that .aar.asc is not a valid format. I downloaded the library and built it myself(and I had to remove the upload function from build.gradle). I might fork the repository and maintain it if I find time.
I think if you include the library as: compile 'com.codinguser.android:contactpicker:3.0.0@aar'
it should work. I still have to find out why the annotation is necessary and update the README
@codinguser Thank you, I'll use your repo in the next version if the issue is fixed rather than compile it myself.
Using the @aar annotation allows it to build but I still receive an error when trying to start the activity:
android.content.ActivityNotFoundException: Unable to find explicit activity class {test.contactpicker/com.codinguser.android.contactpicker.ContactsPickerActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)
at android.app.Activity.startActivityForResult(Activity.java:3917)
at android.app.Activity.startActivityForResult(Activity.java:3877)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:784)
at test.contactpicker.MainActivity.onOptionsItemSelected(MainActivity.java:60)
at android.app.Activity.onMenuItemSelected(Activity.java:2908)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:361)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
at android.support.v7.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:68)
at android.support.v7.widget.Toolbar$1.onMenuItemClick(Toolbar.java:172)
at android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:760)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:958)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:948)
at android.support.v7.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:191)
at android.widget.AdapterView.performItemClick(AdapterView.java:310)
at android.widget.AbsListView.performItemClick(AbsListView.java:1145)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3042)
at android.widget.AbsListView$3.run(AbsListView.java:3879)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
adding the activity to the manifest ->
<activity android:name="com.codinguser.android.contactpicker.ContactsPickerActivity"/>
also works but produces the following error when calling the activity:
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{b10679c 8231:test.contactpicker/u0a61} (pid=8231, uid=10061) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.os.Parcel.readException(Parcel.java:1599)
at android.os.Parcel.readException(Parcel.java:1552)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:3550)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:4778)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2018)
at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1468)
at android.content.ContentResolver.query(ContentResolver.java:475)
at android.support.v4.content.ContentResolverCompatJellybean.query(ContentResolverCompatJellybean.java:29)
at android.support.v4.content.ContentResolverCompat$ContentResolverCompatImplJB.query(ContentResolverCompat.java:57)
at android.support.v4.content.ContentResolverCompat.query(ContentResolverCompat.java:125)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:59)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:37)
at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:296)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:54)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:42)
at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:128)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
even if <uses-permission android:name="android.permission.READ_CONTACTS" />
is added to the manifest (same with WRITE_CONTACTS)
+1 same scenario
This may be due to ProGuard, I'll look into it.
On Mar 28, 2016 17:25, "legalimpurity" notifications@github.com wrote:
+1 same scenario
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#10 (comment)
android M has a different permission mechanism. You have to do some think like this:
int permissionCheck = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS);'
if(permissionCheck != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.READ_CONTACTS},
permissionCode);
Now I'm getting the following error:
java.lang.NoSuchFieldError: No static field fragment_container of type I in class Lcom/codinguser/android/contactpicker/R$id; or its superclasses (declaration of 'com.codinguser.android.contactpicker.R$id' appears in /data/app/br.ufc.lme.zikazero-1/base.apk)
at com.codinguser.android.contactpicker.ContactsPickerActivity.onCreate(ContactsPickerActivity.java:51)