0

我想在 ReveiveSMS.class 的主类中使用一个变量。这是我的 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

您可以messageBody放入SharedPreferences

在 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 回答