2013-04-24 28 views
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(); 



} 
} 
} 

} 

} 

回答

0

你可以把messageBodySharedPreferences

在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"); 
+0

和在那裏我會找到消息體的內容? – user2207848 2013-04-24 15:47:53

+0

在ReceiveSMS類的'onReceive'方法中,將messageBody放入編輯器中,然後通過編寫'main class'部分來訪問其應用程序中的任何地方 – 2013-04-24 15:51:22

+0

好吧,我會嘗試它。謝謝 – user2207848 2013-04-24 16:10:25

相關問題