我想通过TextView
打开默认短信应用。我对如何做到这一点有一个粗略的想法,但我不是100%肯定。我已经查阅了多个关于此的教程和问题,并且没有对它进行简单介绍。
这主要是我遇到问题的Java
方面。我已经设置了我希望代码进入的类,并设置了 XML textview
以响应Onclicks
。
对于 Java 中的代码看起来有点麻烦,谢谢。
更新了代码,在“context”,“text”,“phoneNumber”和“smsOnClicklistener”上收到错误。我得到的错误是无法解决变量:
package com.youtube.iamjackpot;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.TextView;
public class InfomenuActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_infomenu);
TextView textView3 = (TextView) findViewById(R.id.textView3);
smsOnClickListener = new View.OnClickListener() {
public void onClick(View v) {
Intent smsIntent = new Intent(
android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", phoneNumber);
smsIntent.putExtra("sms_body", text);
context.startActivity(Intent.createChooser(smsIntent,"SMS:"));
}
};
}
}
答案 0 :(得分:8)
首先,您需要暂停您想要点击的TextView
。您可以使用TextView
的引用来执行此操作:
TextView tv = (TextView)findViewById(R.id.textViewId);
当你有参考时,你可以为它设置一个OnClickListener
,这样当它被点击时,OnClickListener将被触发,如下所示:
tv.setOnClickListener(smsOnClickListener);
您案例中的OnClickListener
应如下所示:
smsOnClickListener = new View.OnClickListener() {
public void onClick(View v) {
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", phoneNumber);
smsIntent.putExtra("sms_body", text);
context.startActivity(Intent.createChooser(smsIntent, "SMS:"));
}
}
祝你好运! :)这是我对StackOverFlow的第一篇文章,希望它不会是最后一篇!答案 1 :(得分:1)
单击文本视图,执行以下操作:
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", phno);
smsIntent.putExtra("sms_body", body);
context.startActivity(Intent.createChooser(smsIntent, "SMS:"));