Android 使用从一个类到另一个类的变量
我想在RevieveSMS.class的主类中使用vaiable。 这是我的ReceiveSMS.class代码,我想在主界面中使用messageBody。 帮我怎么做。谢谢Android 使用从一个类到另一个类的变量,android,android-intent,Android,Android Intent,我想在RevieveSMS.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; i
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();
}
}
}
}
}
package com.formation.gmaps;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.os.Bundle;
导入android.telephony.sms消息;
导入android.widget.Toast;
公共类ReceiveSMS扩展广播接收器
{
私有最终字符串操作\u RECEIVE\u SMS=“android.provider.Telephony.SMS\u RECEIVED”;
@凌驾
公共void onReceive(上下文、意图)
{
if(intent.getAction().equals(ACTION\u RECEIVE\u SMS))
{
Bundle=intent.getExtras();
if(bundle!=null)
{
Object[]pdus=(Object[])bundle.get(“pdus”);
最终SmsMessage[]消息=新SmsMessage[pdus.length];
对于(int i=0;i-1)
{
最后一个字符串messageBody=消息[0]。getMessageBody();
最后一个字符串phoneNumber=消息[0]。getDisplayOriginatingAddress();
Toast.makeText(上下文,“Expeditor:+phoneNumber,Toast.LENGTH_LONG).show();
Toast.makeText(上下文,“Message:+messageBody,Toast.LENGTH_LONG).show();
}
}
}
}
}
您可以将messageBody
放入
在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");
我在哪里可以找到messageBody的内容?在ReceiveSMS类中的
onReceive
方法中,将messageBody放入编辑器中,然后您可以通过为“主类”编写部分,在应用程序中的任何位置访问其内容