在没有获取电话号码的情况下打电话(点击图标来调用)?

时间:2014-05-06 05:18:42

标签: android android-intent phone-call

我目前正在制作我的第二个计划,并坚持使用Google地图拨打电话,发送短信,发送电子邮件和显示位置信息。我为所有这些使用ImageButton s。用户不需要键入任何数字或地址(不使用EditText来获取用户输入)。但是,它没有用。

例如,当用户点击电话图标时,它会拨打电话。但是,我仍然需要用户输入(实际消息,而不是目的地号码或电子邮件地址)来发送短信和电子邮件。如果我使用EditText,我可以这样做。但是,如果不使用EditText,我就无法做到。我该怎么做呢?我在清单文件中添加了用户权限。

PhoneActivity .java

public class PhoneActivity extends Activity {

        ImageButton btnphonecall;
        String phoneNumber = "091111111";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_phone);

            btnphonecall=(ImageButton)findViewById(R.id.imageButton1);

            btnphonecall.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub

                    Intent i = new Intent(Intent.ACTION_CALL);
                                    i.setData(Uri.parse("091111111"));
                                    PhoneActivity.this.startActivity(i); 
                //I've tried startActivity(i) along but still doesn't work 
                }
            });
        }

2 个答案:

答案 0 :(得分:2)

使用此:

Uri number = Uri.parse("tel:"+091111111 );
Intent dial = new Intent(Intent.ACTION_CALL,
                                    number);
dial.setPackage("com.android.phone");
PhoneActivity.this.startActivity(dial); 

答案 1 :(得分:0)

试试这个:

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phoneNumber));
startActivity(callIntent);