Android 触发安卓手机短信报警

Android 触发安卓手机短信报警,android,sms,Android,Sms,主席先生,我想在用户收到包含特定关键字的短信时触发警报,然后向用户提供alertdialog,以使用预定义消息回复。在我的代码中,我似乎无法让闹钟工作。它只显示alertdialog。此外,如果可能的话,我想使用手机的默认闹钟,即使在静音模式下也会将其设置为关闭。我想用闹钟代替收到的短信铃声。请帮帮我。提前谢谢 public class EAlarmReceiver extends BroadcastReceiver { public static String sender; public

主席先生,我想在用户收到包含特定关键字的短信时触发警报,然后向用户提供alertdialog,以使用预定义消息回复。在我的代码中,我似乎无法让闹钟工作。它只显示alertdialog。此外,如果可能的话,我想使用手机的默认闹钟,即使在静音模式下也会将其设置为关闭。我想用闹钟代替收到的短信铃声。请帮帮我。提前谢谢

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")) {


            Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
            v.vibrate(300);

            Uri alert = RingtoneManager
                    .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            MediaPlayer mMediaPlayer = new MediaPlayer();

            try {
                mMediaPlayer.setDataSource(context, alert);
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SecurityException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
            int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);

            audioManager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
            if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) 
            {
                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                mMediaPlayer.setLooping(false);
                //mMediaPlayer.prepare();
                mMediaPlayer.start();
                Toast.makeText(context.getApplicationContext(), "alarm started", Toast.LENGTH_LONG).show();
            }//end if

            Intent openInterface = new Intent("proj.receiver.RECEIVERINTERFACE");
            openInterface.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(openInterface);

        }//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@PaulR:在我看来像Android。好的-谢谢-我现在会添加一个
Android
标签,如果它是错误的,其他人可以稍后更正。。。