2011-09-16 2 views
0

내 응용 프로그램의 기본 메신저 클라이언트에서 환경 설정 활동을 시작하려고합니다. in AOSP Mms.apk에는 해당 활동에 대한 의도 필터 설정이 없습니다. 어쨌든 나는 그 화면에 사용자를 시작하기위한 작업을 찾으려고 노력하고있다.외부 활동 시작, 권한 오류 받기

Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.setComponent(ComponentName.unflattenFromString("com.android.mms/com.android.mms.ui.MessagingPreferenceActivity")); 
    intent.addCategory("android.intent.category.LAUNCHER"); 
    try { 
     startActivity(intent); 
    } catch (Exception e) { 
     AppUtils.alertError(this, error); 
    } 

나는

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.mms/.ui.MessagingPreferenceActivity } from ProcessRecord{406e2738 674:com.handmark.genericapp/10034} (pid=674, uid=10034) requires null 

어떤 생각을 수신하는거야?

답변

1

원하는 것은 불가능합니다. 이 활동은 (적어도 Google 코드 검색에 표시되는 소스 코드에서는) 내보내지지 않으므로 자체 맞춤 펌웨어의 일부로 앱을 다시 작성하는 것 외에는 시작할 수 없습니다.

또한이 앱은 특정 기기에 존재할 수도 있고 존재하지 않을 수도 있습니다.

+0

이것은 내가 생각했던 것입니다. 해결 방법이 있기를 바랬습니다. 나는 그것이 존재하지 않을지도 모른다는 것을 알고 있습니다, 나는 다른 영역에서이 활동의 ​​존재를 확인합니다. – tsmith

+0

@ 타일러 : "해결 방법이 있었으면 좋겠다"- 나는 그랬 으면 좋겠다. 모든 활동이 공용 API 여야한다는 개념은 무서운 것입니다. – CommonsWare