0

自分の位置を計算して画面に出力するクラスを取得しました。今、私はそのアドレスを使用して特定の番号に x 回ごとに SMS を送信したいと考えています。つまり、 Thread を拡張するクラスが必要だと思いますが、そのクラスは他のクラスから TextView 文字列をどのように取得するのでしょうか? それらはどのように互いに接続されますか?ところで、このフォーラムのどこかで、SMS を送信するためのこのコードを見つけました。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"+ phoneNumber)));

よろしくお願いします!!

4

2 に答える 2

1

SmsManager を使用できます。

 String Text = "My location is: " +
    "Latitude = " + current_lat +
    "Longitude = " + current_lng;

    SmsManager sender=SmsManager.getDefault();
    sender.sendTextMessage("9762281814",null,Text , null, null);
于 2012-11-25T14:47:38.160 に答える
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);
于 2012-11-25T14:48:27.553 に答える