Исключение безопасности при экспорте контактов на SD-карту - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь экспортировать контакты на SD-карту, передавая имя пакета в Intent, как показано ниже

Intent i = new Intent();
i.setComponent(new ComponentName("com.android.contacts",
                    "com.android.contacts.ExportVCardActivity"));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

Но это дает следующее исключение в галактике Ace и S2 (я пробовал только на этих устройствах)

11-04 12: 37: 05.808: W / System.err (3461): java.lang.SecurityException: Отказ в разрешении: начало намерения {flg = 0x10000000 cmp = com.android.contacts / .ExportVCardActivity} из ProcessRecord { 40710c10 3461: com.ImpExp / 10060} (pid = 3461, uid = 10060) требует нуля 11-04 12: 37: 05.816: W / System.err (3461): на android.os.Parcel.readException (Parcel.java:1322) 11-04 12: 37: 05.820: W / System.err (3461): на android.os.Parcel.readException (Parcel.java:1276) 11-04 12: 37: 05.820: W / System.err (3461): на android.app.ActivityManagerProxy.startActivity (ActivityManagerNative.java:1351) 11-04 12: 37: 05.824: W / System.err (3461): на android.app.Instrumentation.execStartActivity (Instrumentation.java:1374) 11-04 12: 37: 05.828: W / System.err (3461): на android.app.Activity.startActivityForResult (Activity.java:2827) 11-04 12: 37: 05.832: W / System.err (3461): на android.app.Activity.startActivity (Activity.java:2933) 11-04 12: 37: 05.832: W / System.err (3461): на com.ImpExp.ImpExp $ 4.onClick (ImpExp.java:74) 11-04 12: 37: 05.832: W / System.err (3461): на android.view.View.performClick (View.java:2485) 11-04 12: 37: 05.832: W / System.err (3461): на android.view.View $ PerformClick.run (View.java:9080) 11-04 12: 37: 05.832: W / System.err (3461): на android.os.Handler.handleCallback (Handler.java:587) 11-04 12: 37: 05.832: W / System.err (3461): на android.os.Handler.dispatchMessage (Handler.java:92) 11-04 12: 37: 05.832: W / System.err (3461): на android.os.Looper.loop (Looper.java:130) 11-04 12: 37: 05.832: W / System.err (3461): на android.app.ActivityThread.main (ActivityThread.java:3683) 11-04 12: 37: 05.832: W / System.err (3461): at java.lang.reflect.Method.invokeNative (собственный метод) 11-04 12: 37: 05.832: W / System.err (3461): at java.lang.reflect.Method.invoke (Method.java:507) 11-04 12: 37: 05.835: W / System.err (3461): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839) 11-04 12: 37: 05.835: W / System.err (3461): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) 11-04 12: 37: 05.835: W / System.err (3461): at dalvik.system.NativeStart.main (собственный метод)

я дал

android.permission.READ_CONTACTS "и
android.permission.WRITE_EXTERNAL_STORAGE "

Несмотря на то, что он терпит крах, любая идея, что именно мне нужно для разрешения или каким-либо другим способом, также приветствуется.

1 Ответ

1 голос
/ 28 июня 2012

Требуется ли декларировать действие в файле manifest.xml?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...