0

我正在尝试通过单击图像从我的应用程序进行调用,它是通过这样完成的,但它给了我异常 ActivityNotFoundException 我应该如何处理这个..?

    Image.setOnClickListener(new View.OnClickListener() {


                    @Override
                    public void onClick(View v) {
                        if("N/A".equals(Number)){
                            MsgBox(ctx,"Could not call because there is no number ");
                        }
                        else{
                            fnCallMobile("+91"+Number);
                        }
                    }
                });

我的 fnCallMobile 函数是:

public void fnCallMobile(String PhoneNo){
        ConfirmMsgBox(this,"Are you sure you want to call number "+PhoneNo,PhoneNo);
    }
    public void ConfirmMsgBox(Context ctx,String msg,final String sPhoneNo){
        final AlertDialog.Builder dialog=new AlertDialog.Builder(this);
        dialog.setTitle("Emkay Eagle");
        dialog.setMessage(msg);
        dialog.setCancelable(false);
        dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int id) {
                dialog.dismiss();
                fnCall(sPhoneNo);
            }

        });
        dialog.setNegativeButton("No", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int which){
                return;
            }
        });
        AlertDialog alert = dialog.create();
        alert.setIcon(R.drawable.icon);
        alert.show();
        return;
    }

最后是我的 fnCall 函数

public void fnCall(String PhoneNo){
        try{
            Intent callIntent=new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("Tel:"+PhoneNo));
            startActivity(callIntent);
        }
        catch(ActivityNotFoundException ex){
            sResponse=ex.toString();
        }
    }
4

4 回答 4

0
 Change 

`callIntent.setData(Uri.parse("Tel:"+PhoneNo));` 

 to 

`callIntent.setData(Uri.parse("tel:"+PhoneNo));`
于 2012-08-10T08:41:52.433 回答
0

使用方案作为电话:而不是电话:

callIntent.setData(Uri.parse("tel:"+PhoneNo));

这个对我有用。

于 2012-08-10T08:49:05.697 回答
0

在 URI 中,您应该使用tel:代替。Tel:因为协议区分大小写。请注意,这是由您的错误提示的,它告诉您您的 URI 错误。

于 2012-08-10T08:51:18.147 回答
0
String uri = "tel:" + number;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);
于 2012-08-10T13:34:05.040 回答