グローバル データをブロードキャスト レシーバー クラスに取得する際に問題がありました。
これが私のコーディングでした。BroadCast レシーバー クラスに入るのを手伝ってください。
public class Global extends Application{
String mobileNumber;
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
これは私のレシーバークラスでした。
public class TextMessageReceiver extends BroadcastReceiver{
Global global;
Context context;
int count;
String number;
public void onReceive(Context context, Intent intent)
{
global=(Global)context;
number = global.getMobileNumber();
Bundle bundle=intent.getExtras();
Object[] messages=(Object[])bundle.get("pdus");
SmsMessage[] sms=new SmsMessage[messages.length];
for(int n=0;n<messages.length;n++){
sms[n]=SmsMessage.createFromPdu((byte[]) messages[n]);
}
for(SmsMessage msg:sms){
if(msg.getOriginatingAddress().endsWith(number))
{
SMS.updateMessageBox(msg.getOriginatingAddress(),msg.getMessageBody(),context);
/*SMS.updateMessageBox("\nFrom: "+msg.getOriginatingAddress()+"\n"+
"Message: "+msg.getMessageBody()+"\n");*/
/*((SMS) context).delete();*/
abortBroadcast();
}
}
}
}
getter setter から携帯電話番号を取得する必要がありますが、取得できません。