앱을 설치하면 모든 것이 정상적으로 작동합니다. 모바일 화면을 잠글 때까지 메시지를 보낼 때마다 메시지 본문을 인쇄 할 수 있습니다. 그 후에 앱은 수신 메시지 인쇄를 중지합니다. 나는이 문제를 극복하기 위해 여러 가지 방법을 시도했지만 운이 없었다. 당신은, "일시 정지 할 때 의도를받을 수 없습니다"registerReceiver()
와 수신기를 등록 할 때 ... BroadcastReceiver
docs 당모바일 화면 잠금 때 브로드 캐스트 수신기가 실행되지 않음
public class SmsReceiveActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sms);
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RECEIVED)) {
Object[] pdus = (Object[]) bundle.get("pdus");
final android.telephony.SmsMessage[] messages = new android.telephony.SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = android.telephony.SmsMessage.createFromPdu((byte[]) pdus[i]);
incomingMsgString += messages[i].getMessageBody().toString();
}
// Print Incoming message Body
}
}
}
getApplication().registerReceiver(receiver, new IntentFilter(SMS_RECEIVED));
}
}
왜 우리는 이것을하고 있습니까? - SmsMessage [] 메시지. 왜 배열인가? 여러 SMS를위한 것입니까? – Ashwin