我有一个关于意图的问题......我尝试启动短信应用...
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)
所以,你可以看到我在我的意图中放了太多东西,但那是因为我不知道我该怎么办...谢谢
我的应用程序有一个按钮来启动默认短信活动,它工作得很好所有Android版本,除了新的,Android 4.4(kitkat)这是代码:
public void onClick(View arg0) {
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", member.getPhoneNumber().trim());
context.startActivity(smsIntent);
}
Run Code Online (Sandbox Code Playgroud)
我收到错误消息
11-08 02:08:32.815: E/AndroidRuntime(14733): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) }
Run Code Online (Sandbox Code Playgroud)
我知道谷歌对默认的短信应用如何处理短信意图做了一些改变.但我的应用程序不是短信应用程序,但它只具有启动默认短信应用程序与收件人号码的功能.所以请帮忙.
我可以在Android 4.4 Kitkat上使用无默认短信应用发送短信吗?
这意味着,我是否可以发送短信而无法写入SMS提供商?
我在Android 4.4 Kitkat上对此感到困惑.
我想我可以使用非默认短信应用程序发送短信.
自Hangouts 2.0起,Google已经破坏(或未记录)如何通过Intent从第三方应用发送短信正文.
这样就可以通过4.4上的应用程序发送短信完全破坏.
以下Intent不起作用:
Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "12125551212");
smsIntent.putExtra("sms_body","Body of Message");\
Run Code Online (Sandbox Code Playgroud)
和
Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", x);
Run Code Online (Sandbox Code Playgroud)
环聊完全忽略了 setType("vnd.android-dir/mms-sms")
回退到该Uri.parse方法是唯一的选择,但应用程序仍然忽略sms_body键.
在这个时间点,它没有记录,所以玩了几个变化%body%无法实现.
值得注意的是,我们尝试了http://www.ietf.org/rfc/rfc5724.txt根据规范创建URI.
sms:12345666777?body=Text here但没有帮助.
*注意:我使用的是ACTION_VIEW,更改为ACTION_SENDTO,仍然无济于事*
我的 sendSms 函数有 try 和 catch 块。Try阻止是默认设备短信应用程序。catch阻止是设置为当前短信应用程序的其他短信应用程序,例如 Google SMS 应用程序。
部分手机(一般API版本为19)运行此代码时出现此错误sendSms。
我的错误日志:
Exception android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=sms:xxxxxxxxxxxxxxx flg=0x10000000 (has extras) }
android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:1638)
android.app.Instrumentation.execStartActivity (Instrumentation.java:1430)
android.app.ContextImpl.startActivity (ContextImpl.java:1135)
android.app.ContextImpl.startActivity (ContextImpl.java:1117)
android.content.ContextWrapper.startActivity (ContextWrapper.java:311)
android.view.View.performClick (View.java:4463)
android.view.View$PerformClick.run (View.java:18794)
android.os.Handler.handleCallback (Handler.java:808)
android.os.Handler.dispatchMessage (Handler.java:103)
android.os.Looper.loop (Looper.java:193)
android.app.ActivityThread.main (ActivityThread.java:5299)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:825)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:641)
dalvik.system.NativeStart.main (NativeStart.java)
Run Code Online (Sandbox Code Playgroud)
我的代码:
private void sendSms(String phoneNumber){
try {
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", getContext().getResources().getString(R.string.inviteSms));
sendIntent.setType("vnd.android-dir/mms-sms"); …Run Code Online (Sandbox Code Playgroud) 我的应用程序有一个图像按钮,点击该按钮只能通过短信发送一段文字.我如何让我的应用程序这样做?请帮忙.
我还希望用户能够从他设备上的联系人列表中选择联系人.
Jumana
我正在开发一个发送和接收短信的应用程序.我想添加将我的应用程序设置为默认设置的选项,例如Google的环聊:

你有想法吗?非常感谢.