android 彩信發送,在部分手機上報錯,提示activityNotFoundError。

        使用以下代碼,在部分手機(例如:三星)上調用android系統的彩信發送界面時,會提示錯誤:activityNotFoundError。

Intent intent = new Intent(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url));// uri爲你的附件的uri
intent.putExtra("subject", "it's subject"); //彩信的主題
intent.putExtra("address", "10086"); //彩信發送目的號碼
intent.putExtra("sms_body", "it's content"); //彩信中文字內容
intent.putExtra(Intent.EXTRA_TEXT, "it's EXTRA_TEXT");
intent.setType("image/*");// 彩信附件類型
intent.setClassName("com.android.mms","com.android.mms.ui.ComposeMessageActivity");
startActivity(intent);

        引起這個錯誤的原因是:三星是定製系統,系統中並沒有com.android.mms.ui.ComposeMessageActivity這個類。

        一個簡單有效的解決方法是:將intent.setClassName("com.android.mms","com.android.mms.ui.ComposeMessageActivity");這句代碼替換成:

intent.setPackage("com.android.mms");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章