在android中拨打电话而不获取电话号码(点击图标即可拨打)



我目前正在进行第二个程序,一直在打电话、发短信、发电子邮件和使用谷歌地图显示位置。所有这些我都使用ImageButton。用户不需要键入任何数字或地址(不使用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 
                }
            });
        }

使用此:

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

试试这个:

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

最新更新