我目前正在制作我的第二个计划,并坚持使用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
}
});
}
答案 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);