我遵循以下代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
它适用于Android 5.1,但不适用于android 6.0,因为android.content.ActivityNotFoundException: No Activity found to handle Intent
。那么,如何通过隐式意图打开短信应用?
编辑:
你看了我的帖子?我需要打开应用程序,而不是发送消息。
我检查https://www.instagram.com/developer/sandbox/帖子,但它不起作用!
答案 0 :(得分:6)
你可以试试这个,它对我有用:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_MESSAGING);
startActivity(intent);
答案 1 :(得分:2)
使用此:
public void composeSmsMessage(String message, String phoneNumber) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setData(Uri.parse("smsto:"+phoneNumber)); // This ensures only SMS apps respond
intent.putExtra("sms_body", message);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
答案 2 :(得分:2)
试试这个: -
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("sms_body", message);
intent.setData(Uri.parse("sms:"));
startActivity(intent);
} catch (android.content.ActivityNotFoundException anfe) {
Log.d("Error" , "Error");
}
答案 3 :(得分:2)
下面的代码非常适合我,希望对您有所帮助
如果您想返回应用程序,此代码也可以使用
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("smsto:" + phoneNumber)); // This ensures only SMS apps respond
intent.putExtra("sms_body", "Hey downaload Whozhere app");
startActivity(intent);
答案 4 :(得分:1)
试试这个:
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "12125551212");
smsIntent.putExtra("sms_body","Body of Message");
startActivity(smsIntent);
答案 5 :(得分:0)
您也可以使用
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:" + Uri.encode(phoneNumber)));
startActivity(intent);
答案 6 :(得分:0)
您可以使用清单文件中的意图过滤器
进行深层链接答案 7 :(得分:0)
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse(" smsto:" + Uri.encode(phoneNumber))); startActivity(意向);
答案 8 :(得分:0)
public void composeMmsMessage(String message, Uri attachment) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setType(HTTP.PLAIN_TEXT_TYPE);
intent.putExtra("sms_body", message);
intent.putExtra(Intent.EXTRA_STREAM, attachment);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
答案 9 :(得分:0)
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
正在工作