使用android的sms关键字启动警报

使用android的sms关键字启动警报,android,alarm,Android,Alarm,先生,我真的不知道如何让我的代码工作。它就是不能启动警报。它只是启动指定的活动并跳过报警部分。我做错了什么。提前谢谢你的帮助 public class EAlarmReceiver extends BroadcastReceiver { public static String sender; public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Bu

先生,我真的不知道如何让我的代码工作。它就是不能启动警报。它只是启动指定的活动并跳过报警部分。我做错了什么。提前谢谢你的帮助

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
公共类EAlarmReceiver扩展了BroadcastReceiver{
公共静态字符串发送器;
公共void onReceive(上下文、意图){
//TODO自动生成的方法存根
Bundle=intent.getExtras();
Object[]pdusObj=(Object[])bundle.get(“pdus”);
SmsMessage[]messages=新SmsMessage[pdusObj.length];

对于(int i=0;i活动开始应该会为您提供正在发生的事情的线索。除非触发报警,否则代码中没有启动活动的点。实际上触发了报警,但正如您指定的当前时间(cal.add(Calendar.SECOND,0)),它会立即触发,启动相应的PendingEvent。将所需时间添加到日历中,以便稍后触发警报。

我已尝试将秒更改为“10”,但仍然没有警报。这是为什么?我是否应该更改android清单中的任何内容?我传递给PendingEvent.getActivity()的意图如API文档中所述,应指定标志\活动\新任务:,int,android.content.Intent,int)。尝试添加那个标志,看看它是否被调用。很抱歉,我不明白。我是android的初学者。哦,我已经尝试了一些警报教程代码,但它们也不起作用。我的意思是,它们功能很好,只是我听不到任何声音。这可能是我的android手机出了问题吗?你尝试启动的活动是为了玩声音?AlarmManager的目的是将某些事件安排到未来时间()。虽然名称以Alarm开头,但并不意味着它将播放您的闹钟声音。