Ummm.... that permission is deprecated.
http://developer.android.com/reference/android/Manifest.permission.html#SET_PREFERRED_APPLICATIONS

Thanks,
Justin Anderson
MagouyaWare Developer
http://sites.google.com/site/magouyaware


On Tue, May 10, 2011 at 10:33 AM, wolfman <[email protected]> wrote:

> Hi,
>
> I have an app which creates a sync account, and I want to set the
> created account as the preffered one for contacts sync.   I get the
> following error - 'Neither user 10052 nor current process has
> android.permission.SET_PREFERRED_APPLICATIONS.'
>
> android.permission.SET_PREFERRED_APPLICATIONS has been added to the
> manifest file.
>
> Below is the code used;  Exception when
> pm.clearPackagePreferredActivities("com.android.contacts"); is called,
> and if commented, exception when pm.addPreferredActivity(...) is
> called.
>
> -----
>
>        PackageManager pm = context.getPackageManager();
>
>        try {
>
> pm.clearPackagePreferredActivities("com.android.contacts");
>
>            Intent edit_intent = new
> Intent("android.intent.action.EDIT");
>            Intent insert_intent = new
> Intent("android.intent.action.INSERT");
>
>
> edit_intent.addCategory("android.intent.category.DEFAULT");
>
> insert_intent.addCategory("android.intent.category.DEFAULT");
>
>            edit_intent.setData(ContentUris.withAppendedId(
>                    ContactsContract.RawContacts.CONTENT_URI, 100));
>
> insert_intent.setData(ContactsContract.RawContacts.CONTENT_URI);
>
>            List<ResolveInfo> editList = pm.queryIntentActivities(
>                          edit_intent,
> PackageManager.MATCH_DEFAULT_ONLY |
>                          PackageManager.GET_RESOLVED_FILTER );
>
>            List<ResolveInfo> insertList = pm.queryIntentActivities(
>                          insert_intent,
> PackageManager.MATCH_DEFAULT_ONLY |
>                          PackageManager.GET_RESOLVED_FILTER );
>
>            ResolveInfo editRI = null;
>            ResolveInfo insertRI = null;
>
>            ComponentName[] editRIS = new
> ComponentName[editList.size()];
>            ComponentName[] insertRIS = new
> ComponentName[insertList.size()];
>
>            if(editList.size() > 0) {
>                editRI = editList.get(0);
>                for (int i=0; i<editList.size(); i++) {
>                    ResolveInfo r = editList.get(i);
>                    editRIS[i] = new
> ComponentName(r.activityInfo.packageName,
>                          r.activityInfo.name);
>                }
>            }
>            if(insertList.size() > 0) {
>                insertRI = insertList.get(0);
>                for (int i=0; i<insertList.size(); i++) {
>                    ResolveInfo r = insertList.get(i);
>                    insertRIS[i] = new
> ComponentName(r.activityInfo.packageName,
>                          r.activityInfo.name);
>                }
>            }
>
>            pm.addPreferredActivity(editRI.filter, editRI.match ,
> editRIS,
>                      new ComponentName("com.test.myapp",
>            "com.test.myapp.contacts.ui.EditContactActivity"));
>            pm.addPreferredActivity(insertRI.filter, insertRI.match ,
> insertRIS,
>                      new ComponentName(com.test.myapp",
>            "com.test.myapp.contacts.ui.EditContactActivity"));
>
>        }
>        catch (Exception e) {
>            e.printStackTrace();
>        }
>
> -----
>
> Thanks in advance.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to