【问题标题】:how to catch exception for call?如何捕获呼叫异常?
【发布时间】:2013-09-04 11:00:22
【问题描述】:

在我的应用程序上,我必须拨打一个号码。 手机上的代码工作正常,但平板电脑(无法拨打电话)应用程序崩溃。 我想捕捉这个异常。

 try{
          String toDial = "tel:092168*****";
          startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(toDial)));}
  catch(Exception e){
      Toast.makeText(getApplicationContext(), "Chiamata non supportata", Toast.LENGTH_LONG).show();
                      }

但不工作。 主意? 对不起我的英语不好

【问题讨论】:

  • 如果您粘贴LogCat 输出,我们可以看到问题(可能是Intent.ACTION_CALL)。如果你设法用你的块在那里捕获它并查看它是什么,你也可以打印实际的异常。

标签: android android-intent call


【解决方案1】:

我认为你应该先用下面的代码检查Intent是否可用

public static boolean isAvailable(Context ctx, Intent intent) {
           final PackageManager mgr = ctx.getPackageManager();
           List<ResolveInfo> list =
              mgr.queryIntentActivities(intent, 
                 PackageManager.MATCH_DEFAULT_ONLY);
           return list.size() > 0;
 }

【讨论】:

    猜你喜欢
    • 2010-09-18
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多