首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android系统中启动SMS意图的防错方法

Android系统中启动SMS意图的防错方法
EN

Stack Overflow用户
提问于 2012-02-29 22:57:26
回答 2查看 5.8K关注 0票数 7

在我的Android应用程序中,我使用以下代码启动消息传递应用程序,并为文本消息填写默认文本:

代码语言:javascript
复制
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("sms:"+USERS_PHONE_NUMBER));
intent.putExtra("sms_body", "DUMMY TEXT");
startActivity(intent);

在大多数情况下,这是可行的。但不幸的是,在某些设备上,我得到了以下错误消息:

代码语言:javascript
复制
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=sms:+XXXXXXXXXX (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1510)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
at android.app.Activity.startActivityForResult(Activity.java:3131)
at android.app.Activity.startActivity(Activity.java:3237)

显然,我创建的意图是无法处理的。

  • Is --如果我的短信意图中有任何错误,我可以防止应用程序崩溃,如果这个意图不能是handled?

我应该使用PackageManager.queryIntentActivities()还是有其他方法解决这个问题?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-29 23:46:40

我还没有具体地尝试过这个意图,但最简单的方法可能是添加try和catch块

代码语言:javascript
复制
try {
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    // Display some sort of error message here.
}

由于不能指望特定的Android设备拥有消息应用程序(例如,一些平板电脑没有电话服务),所以你必须做好准备。

这是一个很好的做法,一般来说,当你开始外部活动,以避免崩溃在你的应用程序。

票数 14
EN

Stack Overflow用户

发布于 2013-09-25 18:38:12

下面是我使用的一种方法,用于安全地打开Android上的活动,并在找不到活动时给用户一些反馈。

代码语言:javascript
复制
public static void safeOpenActivityIntent(Context context, Intent activityIntent) {

        // Verify that the intent will resolve to an activity
          if (activityIntent.resolveActivity(context.getPackageManager()) != null) {
              context.startActivity(activityIntent);
          } else {
              Toast.makeText(context, "app not available", Toast.LENGTH_LONG).show();
          }
}

(我想我是从youtube上的谷歌开发者视频中得到的,但现在我找不到视频了.)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9508005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档