我試圖製作一個廣播接收器,它會在接收到特定的短信時激活一項活動。 這是我爲我的廣播接收器代碼:我的廣播接收機有什麼問題?
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
public class ringMuhPhoneBR extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if(extras == null)
return;
Object[] pdus = (Object[]) extras.get("pdus");
for (int i = 0; i < pdus.length; i++) {
SmsMessage SMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
String sender = SMessage.getOriginatingAddress();
String body = SMessage.getMessageBody().toString();
Intent it = new Intent();
it.setAction("com.services.aiks.smsReader")
.putExtra("get_ring", sender + ":" + body);
context.startService(it);
}
}
}
我需要它來啓動它有這個代碼的服務smsReader
package com.services.aiks;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.IBinder;
import android.os.Vibrator;
import com.events.aiks.rmpActivate;
import com.sharedPref.aiks.SharedPref;
public class smsReader extends Service{
AudioManager am;
Vibrator vb;
SharedPref sp;
String msgWhole;
String msgContent;
String msgSender;
int maxVolume;
String rmpk;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
public void onStart(Intent intent, int startId){
am = (AudioManager)getSystemService(AUDIO_SERVICE);
vb = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
sp = new SharedPref(this);
loadPrefs();
msgWhole = intent.getStringExtra("get_ring");
msgWhole = msgWhole.replace("\n", "");
msgContent = msgWhole.substring(msgWhole.lastIndexOf(":") + 1, msgWhole.length());
msgSender = msgWhole.substring(0, msgWhole.lastIndexOf(":"));
try{
if(rmpk.equalsIgnoreCase(msgContent)){
Intent it = new Intent(smsReader.this, rmpActivate.class);
startActivity(it);
}
}catch(Exception e){
}
}
public void loadPrefs(){
rmpk = sp.strLoadPrefs("RMPK", "scream");
}
}
的問題是,即使我發送正確的關鍵字,則rmpActivate不會開始。我也嘗試刪除條件,檢查是否收到正確的關鍵字,仍然沒有結果。預先感謝您的幫助。 :)
好像你忘了註冊你的廣播接收器。 – 2014-12-19 06:48:40
我該怎麼做?或我在哪裏做。謝謝。 – 2014-12-19 06:51:35
在您的清單 – zozelfelfo 2014-12-19 06:54:24