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

Tel:の代わりにtel:としてスキームを使用します。

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

わたしにはできる。

于 2012-08-10T08:49:05.697 に答える
0

URIでは、tel:の代わりにを使用する必要があります。Tel:プロトコルでは大文字と小文字が区別されるため。これは、URIが間違っていることを示しているエラーによって示唆されていることに注意してください。

于 2012-08-10T08:51:18.147 に答える
0
 Change 

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

 to 

`callIntent.setData(Uri.parse("tel:"+PhoneNo));`
于 2012-08-10T08:41:52.433 に答える
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 に答える