我有一个计算我的位置并在屏幕上打印的课程。 现在我想每隔x次将该地址发送到某个号码。 所以这需要sleep方法我想这意味着我需要一个扩展Thread的类..但是该类如何从另一个类中获取TextView字符串?他们将如何相互联系? 顺便说一下,我在这个论坛的某个地方发现了这个代码,用于发送短信:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"+ phoneNumber)));
先谢谢!!
答案 0 :(得分:1)
你可以使用SmsManager,
String Text = "My location is: " +
"Latitude = " + current_lat +
"Longitude = " + current_lng;
SmsManager sender=SmsManager.getDefault();
sender.sendTextMessage("9762281814",null,Text , null, null);
答案 1 :(得分:0)
在Async任务中包装与线程相关的内容,并向其传递当前活动的Context参数。这样,您可以在异步任务的Context.findViewById()
方法内调用doInBackGround()
。这样你甚至不会在主线程上执行任何阻塞操作(将来会引发另一个异常)。
public void SendSmsTask extends AsyncTask<Context, Void, Void> {
@Override
protected Void doInBackGround(Context... contexts) {
for(Context con : contexts) {
TextView abc = context.findViewById(<textview Id>);
// send your sms after this
}
}
... // remaining functions and logic
}
您可以使用以下命令从您的活动开始此任务:
new SendSmsTask().execute(this);