Oli*_*r69 142 sms android android-intent
我有一个关于意图的问题......我尝试启动短信应用...
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setType("vnd.android-dir/mms-sms");
int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP |
Intent.FLAG_ACTIVITY_CLEAR_TOP;
intent.setFlags(flags);
intent.setData(Uri.parse("content://sms/inbox"));
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到我在我的意图中放了太多东西,但那是因为我不知道我该怎么办...谢谢
jqp*_*liq 235
要开始启动短信活动,您只需要:
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
Run Code Online (Sandbox Code Playgroud)
您可以添加额外内容来填充您自己的消息,如下所示
sendIntent.putExtra("sms_body", x);
Run Code Online (Sandbox Code Playgroud)
然后只是startActivity与意图.
startActivity(sendIntent);
Run Code Online (Sandbox Code Playgroud)
小智 138
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);
Run Code Online (Sandbox Code Playgroud)
mus*_*vgi 46
如果Android版本是Kitkat或更高版本,用户可以更改默认的短信应用程序.此方法将获取默认的短信应用程序并启动默认的短信应用程序.
private void sendSMS() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // At least KitKat
{
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(this); // Need to change the build to API 19
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "text");
if (defaultSmsPackageName != null)// Can be null in case that there is no default, then the user would be able to choose
// any app that support this intent.
{
sendIntent.setPackage(defaultSmsPackageName);
}
startActivity(sendIntent);
}
else // For early versions, do what worked for you before.
{
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address","phoneNumber");
smsIntent.putExtra("sms_body","message");
startActivity(smsIntent);
}
}
Run Code Online (Sandbox Code Playgroud)
sky*_*sle 31
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这就是你所需要的.
Pir*_*hah 22
如果您想从其他一些活动启动SMS Composing活动,并且还必须传递电话号码和SMS文本,请使用以下代码:
Uri sms_uri = Uri.parse("smsto:+92xxxxxxxx");
Intent sms_intent = new Intent(Intent.ACTION_SENDTO, sms_uri);
sms_intent.putExtra("sms_body", "Good Morning ! how r U ?");
startActivity(sms_intent);
Run Code Online (Sandbox Code Playgroud)
注:这里的sms_body和smsto:是不承认在撰写短信活动的文字和电话按键,所以要小心这里.
Jay*_*epW 17
以下是将打开SMS活动的代码,该活动预先填充了必须向其发送SMS的电话号码.这在模拟器和设备上都可以正常工作.
Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.addCategory(Intent.CATEGORY_DEFAULT);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.setData(Uri.parse("sms:" + phoneNumber);
Run Code Online (Sandbox Code Playgroud)
使用
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.android.mms", "com.android.mms.ui.ConversationList");
Run Code Online (Sandbox Code Playgroud)
在kotlin 中,这可以很容易地实现,如下所示:
/**
* If android version is Kitkat or above, users can change default sms application.
* This method will get default sms app and start default sms app.
*/
private fun openSMS() {
val message = "message here"
val phone = "255754......." //255 Tanzania code.
val uri = Uri.parse("smsto:+$phone")
val intent = Intent(Intent.ACTION_SENDTO, uri)
with(intent) {
putExtra("address", "+$phone")
putExtra("sms_body", message)
}
when {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT -> {
//Getting the default sms app.
val defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context)
// Can be null in case that there is no default, then the user would be able to choose
// any app that support this intent.
if (defaultSmsPackageName != null) intent.setPackage(defaultSmsPackageName)
startActivity(intent)
}
else -> startActivity(intent)
}
}
Run Code Online (Sandbox Code Playgroud)
这是@mustafasevgi 的修改答案
| 归档时间: |
|
| 查看次数: |
154306 次 |
| 最近记录: |