0
私のアプリケーションからネイティブメッセンジャークライアントでプリファレンスアクティビティを開始しようとしています。 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
任意の考えを受けていますか?
これも私が考えていたもので、回避策があることを期待していました。私はそれが存在しないかもしれないことを知っています、私は別の領域でこの活動の存在を確認します。 – tsmith
@タイラー: "回避策があることを望んでいた" - 私はしないことを願っています。すべてのアクティビティが公開APIでなければならないという考えは恐ろしいものです。 – CommonsWare