0
선생님, 제 코드를 작동시키는 법을 모르겠습니다. 알람을 시작할 수 없습니다. 할당 된 활동을 시작하고 경보 부분을 건너 뜁니다. 내가 도대체 뭘 잘못하고있는 겁니까. 사전에 도움을 주셔서 감사합니다안드로이드에 대한 SMS 키워드를 사용하여 알람 시작
public class EAlarmReceiver extends BroadcastReceiver {
public static String sender;
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
Object[] pdusObj = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdusObj.length];
for (int i = 0; i<pdusObj.length; i++)
{
messages[i] = SmsMessage.createFromPdu ((byte[])
pdusObj[i]);
sender = messages[i].getOriginatingAddress();
}
for (SmsMessage msg : messages) {
if (msg.getMessageBody().contains("firealert")) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 0);
Intent i = new Intent(context, ReceiverInterface.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context,
12345, i, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am =
(AlarmManager)context.getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
pendingIntent);
}//end if
}//end for
}// end onreceive
오, 고맙습니다. –
두 번째를 "10"으로 변경하려고 시도했지만 여전히 경고하지 않습니다. 그게 왜? 안드로이드 매니페스트에서 무엇인가를 바꿔야합니까? –
API 문서에 명시된 바와 같이 PendingIntent.getActivity()에 전달 된 의도는 FLAG_ACTIVITY_NEW_TASK를 지정해야합니다. http://developer.android.com/reference/android/app/PendingIntent.html#getActivity(android.content). Context, int, android.content.Intent, int). 해당 플래그를 추가하여 호출되는지 확인하십시오. – Jorge