ACTION_DIAL无法解析或不是字段

时间:2014-02-27 00:42:48

标签: android android-intent

我的代码有一个小问题,我使用Intent类启动服务调用,如下所示:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.intent);
        Uri uri=Uri.parse("tel:067614214367");
        Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);
        startActivity(DialIntent);
    }

出现错误消息:ACTION_DIAL无法解析或不是字段

请帮忙。

1 个答案:

答案 0 :(得分:1)

我认为你只需要设置标志:

DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

所以你的最终方法将是这样的:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.intent);
        Uri uri=Uri.parse("tel:067614214367");
        Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);
        DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(DialIntent);
    }

编辑:

请注意,Intent.ACTION_DIAL会启动拨号程序,但实际上并不拨打电话。您可以使用以下行替换显示的行(Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);)):

dialIntent.setAction(Intent.ACTION_CALL);

所以:

Intent dialIntent = new Intent();
dialIntent.setAction(Intent.ACTION_CALL);
dialIntent.setData(Uri.parse("tel:067614214367"));

您必须在Android清单文件中声明 android.permission.PHONE_CALL 权限。