0
package com.m.omg;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
public class SmsReceiver extends BroadcastReceiver
{
MediaPlayer mp =new MediaPlayer();
@Override
public void onReceive(Context context, Intent intent)
{
String mymsg = null;
String num = null;
//get the SMS message passed in
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null)
{
//retrieving the received SMS
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
num = msgs[i].getOriginatingAddress();
mymsg = msgs[i].getMessageBody().toString();
}
Toast.makeText(context, "from" + num + ":" + mymsg, Toast.LENGTH_LONG).show();
//making decision, depending on the number & message body
if (num.equalsIgnoreCase("some# :) ")){
abortBroadcast();
if (mymsg.equalsIgnoreCase("start")){
mp.create(context, R.raw.music);
mp.start();
}
}
mp.release();
}
}
}MediaPlayer не инициализируется
* медиаплеере не инициализируется, когда состояние соответствует ... приложение работает нормально, когда я получаю SMS, отображается Toast, но медиа-плеер не запускается, Я получаю это предупреждение в затмении «статический метод создания (Context, INT) от типа MediaPlayer должен быть доступен в статическом пути», который я проигнорировал: D *
Большого спасибо чувака, я ценю это, но я попробовал еще раз и не было воспроизведение музыки после получения SMS, я заметил, что утра выпуская MediaPlayer, прежде чем он сможет даже воспроизвести музыку, я удалил mp.release(); и добавил mp.reset(); до mp = MediaPlayer.create (контекст, R.raw.music); ... И это на самом деле много работало, но я верю, что mp.release(); необходимо, не так ли? поэтому, где я должен добавить mp.release(); ?? << обратите внимание, что продолжительность воспроизведения музыкального файла составляет всего 3 секунды >> .. еще раз спасибо :) – Memo