2

BroadcastReceiver受信時に反応するシンプルなものを作成しSMSました。

1 つのメッセージでアラームを開始し、別のメッセージでアラームを停止できる必要があります。アラームは a でトリガーされ、mediaPlayerうまく機能します。しかし、私はそれを止めることはできません。mediaplayer権利を受け取るたびに の新しいインスタンスが作成されることは知っていますがSMS、シングルトンでも機能させることはできません...

コード スニペットは次のとおりです。

Bundle myBundle = intent.getExtras();
SmsMessage [] messages = null;
String strMessage = "";

if (myBundle != null)
{
    Object [] pdus = (Object[]) myBundle.get("pdus");
    messages = new SmsMessage[pdus.length];

    for (int i = 0; i < messages.length; i++)
    {
        messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
        strMessage += messages[i].getMessageBody();
    }

    if (strMessage.equals("ATELIO&SON")){
        if(onoff == 1){
        Toast.makeText(context, "Démarrage localisation sonore", Toast.LENGTH_LONG).show();
        playSound();
        }
    }
    else if(strMessage.equals("ATELIO&SON&FIN")){
        Toast.makeText(context, "Fin localisation sonore", Toast.LENGTH_LONG).show();
        stopSound();
    }
}

playsound()stopsound()は 2 つの非常に単純な方法です。1 つ目はサウンドを開始し、2 つ目はサウンドをチェックしてそれに応じmediaplayernull動作します。

4

0 に答える 0