В моем очень простом приложении (на основе приложения Hello World по умолчанию, но с добавленной кнопкой) я пытаюсь открыть одно из предустановленных действий моего телефона (SE X10 Mini), например:
Intent calendarIntent = new Intent();
calendarIntent.setClassName("com.sonyericsson.calendar","com.sonyericsson.calendar.dayview.DayActivity");
startActivity(calendarIntent);
Однако, это не работает, я получаю следующую ошибку в журнале:
E/AndroidRuntime( 2215): java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.sonyericsson.calendar/.dayview.DayActivity } from ProcessRecord{302cf238 2215:com.klibb.quickappointment/10079} (pid=2215, uid=10079) requires null
E/AndroidRuntime( 2215): at android.os.Parcel.readException(Parcel.java:1246)
E/AndroidRuntime( 2215): at android.os.Parcel.readException(Parcel.java:1234)
E/AndroidRuntime( 2215): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1157)
E/AndroidRuntime( 2215): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1449)
E/AndroidRuntime( 2215): at android.app.Activity.startActivityForResult(Activity.java:2661)
E/AndroidRuntime( 2215): at android.app.Activity.startActivity(Activity.java:2705)
E/AndroidRuntime( 2215): at com.klibb.quickappointment.QuickAppointmentActivity$1.onClick(QuickAppointmentActivity.java:25)
Могу ли я что-нибудь с этим сделать или этот тип кода запрещен? При поиске в Интернете я вижу людей, которые меняют фильтры намерений в том, что я считаю их собственным приложением, но я, очевидно, не могу ничего изменить в предустановленном приложении.
Любые идеи приветствуются!
PS. Я пытаюсь создать небольшую программу, которая непосредственно запускает на моем телефоне действие «Новое приложение», чтобы избежать двух дополнительных действий (запустить календарь по умолчанию, щелкнуть день, щелкнуть час).