0

ReveiveSMS.class のメイン クラスで vaiable を使用したい。これは ReceiveSMS.class の私のコードであり、メインで messageBody を使用したいと考えています。どうすればそれができるか教えてください。ありがとう

package com.formation.gmaps;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class ReceiveSMS  extends BroadcastReceiver
{
 private final String   ACTION_RECEIVE_SMS  = "android.provider.Telephony.SMS_RECEIVED";

 @Override
 public void onReceive(Context context, Intent intent)
 {
 if (intent.getAction().equals(ACTION_RECEIVE_SMS))
 {
 Bundle bundle = intent.getExtras();
 if (bundle != null)
 {
 Object[] pdus = (Object[]) bundle.get("pdus");

 final SmsMessage[] messages = new SmsMessage[pdus.length];
 for (int i = 0; i < pdus.length; i++)  {  messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);  }  if (messages.length > -1)
 {
 final String messageBody = messages[0].getMessageBody();
 final String phoneNumber = messages[0].getDisplayOriginatingAddress();

 Toast.makeText(context, "Expediteur : " + phoneNumber, Toast.LENGTH_LONG).show();
 Toast.makeText(context, "Message : " + messageBody, Toast.LENGTH_LONG).show();



 }
 }
 }

 }

}
4

1 に答える 1

0

SharedPreferencesmessageBodyを入れることができます。

ReceiveSMS クラス:

SharedPreferences prefs = getSharedPreferences("yourPrefs", 0);

SharedPreferences.Editor editor = prefs.edit();
editor.putString("messageBody", messageBody);
editor.commit();

あなたのメインクラスで:

SharedPreferences prefs = getSharedPreferences("yourPrefs", 0);
String messageBody = prefs.getString("messageBody","defaultValue");
于 2013-04-24T15:32:41.050 に答える