媒体播放器未初始化


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();
    }    
}

}

*条件匹配时媒体播放器未初始化...该应用程序工作正常,当我收到短信时,会显示 Toast,但没有触发媒体播放器,我在 eclipse 中收到此警告"应以静态方式访问 MediaPlayer 类型的静态方法 create(Context, int("我忽略了它:D *

使用

mp=MediaPlayer.create(context, R.raw.music);

而不是

mp.create(context, R.raw.music);

用于初始化媒体播放器mp实例

最新更新