如何在android警报对话框中使用电话号码?

如何在android警报对话框中使用电话号码?,android,android-intent,android-emulator,android-widget,Android,Android Intent,Android Emulator,Android Widget,我想使用默认电话号码,并在警报对话框中传递该号码。这是怎么可能的。我已经试过了,但是它强制关闭。请解决我的问题。提前谢谢。我的编码如下: case R.id.menu_settings: String phoneNo ="123456789"; AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setMessage("Do you want to call us?"+phoneNo); alert.setPositi

我想使用默认电话号码,并在警报对话框中传递该号码。这是怎么可能的。我已经试过了,但是它强制关闭。请解决我的问题。提前谢谢。我的编码如下:

case R.id.menu_settings:
String phoneNo ="123456789";
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setMessage("Do you want to call us?"+phoneNo);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
String uri = "123456789";
public void onClick(DialogInterface dialog, int whichButton) {
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse(uri));
    startActivity(intent);
 }
});
alert.setNegativeButton("Ok", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        finish();
    }

  });
  alert.show();
return true;
}
return false;
}

Uri的格式应为
tel:######


发生这种情况的原因至少有两个

  • 您在清单中没有权限

  • 您的
    Uri
    格式不正确。从
    String uri=“123456789”
    to
    String uri=“电话:123456789”


  • 也张贴logcat stacktrace。重复。和
    String uri = "tel:123456789";