繁体   English   中英

Android通话意图获取错误的电话号码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM