我目前正在进行第二个程序,一直在打电话、发短信、发电子邮件和使用谷歌地图显示位置。所有这些我都使用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);