[英]Android call intent getting wrong telephone number
我试图使按钮(R.id.buttonring)呼叫在文本视图中输入的称为tvTelefon的任何电话号码。 但是,当我单击该按钮时,我的电话正在尝试呼叫“ w4126848130,511290,549”,而不是在textview中输入的电话号码。 有什么想法吗? 我没有收到任何错误消息,所以我一无所知! 谢谢!
public class Activity2 extends Activity {
public static final String SPARAD_DATA = "sparadData";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
SharedPreferences sp = getSharedPreferences(SPARAD_DATA, Context.MODE_PRIVATE);
TextView tvRubrik = (TextView)findViewById(R.id.textViewrubrik);
tvRubrik.setText(sp.getString("rubrik", "Rubrik saknas"));
TextView tvNamn = (TextView)findViewById(R.id.textViewnamn);
tvNamn.setText(sp.getString("namn", "Namn saknas"));
TextView tvText = (TextView)findViewById(R.id.textViewtext);
tvText.setText(sp.getString("text", "Text saknas"));
final TextView tvTelefon = (TextView)findViewById(R.id.textViewtelefon);
tvTelefon.setText(sp.getString("telefon", "Telefon saknas"));
TextView tvPris = (TextView)findViewById(R.id.textViewpris);
tvPris.setText(sp.getString("pris", "Pris saknas"));
Button r = (Button)findViewById(R.id.buttonring);
r.setOnClickListener (new View.OnClickListener() {
Intent call = new Intent(Intent.ACTION_DIAL);
@Override
public void onClick(View v){
call.setData(Uri.parse("tel:" +tvTelefon));
startActivity(call);
}
});
}
}
轻微的更改可能会帮助您:
call.setData(Uri.parse("tel:" +tvTelefon));
它应该是:
call.setData(Uri.parse("tel:" +tvTelefon.getText().toString()));
您正在传递对象引用,请获取放入其中的字符串。
实际上,据我了解您发布的代码,您可以直接从偏好中获取电话号码。 尝试这个:
call.setData(Uri.parse("tel:" + sp.getString("telefon", "")));
代替:
call.setData(Uri.parse("tel:" +tvTelefon));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.