[英]broadcast receiver inside activity
大家好我如何在一個活動中實現一個廣播接收器,該活動接收來自服務的意圖以及一些int和string類型的參數?
更新:
我在活動下有這個:
private BroadcastReceiver ReceivefrmSERVICE = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "IN DA BroadCASTER",
Toast.LENGTH_LONG).show();
}
};
我在服務中的一個函數下有這個函數,當選中一個選中的按鈕時,它會調用來自另一個活動的事件:
public void switchSpeaker(int hr, int min){
Toast.makeText(Server.this, hr +" , " +min, Toast.LENGTH_LONG).show();
Intent intent = new Intent(this, andRHOME.class);
//intent.putExtra("sendMessage","1");
startActivity(intent);
/*PendingIntent pi = PendingIntent.getService(Server.this, 0, myIntent, 0);
AlarmManager almmgr = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar cldr = Calendar.getInstance();
int min1 = cldr.get(Calendar.MINUTE);
cldr.setTimeInMillis(System.currentTimeMillis());
cldr.add(Calendar.SECOND, 30);
almmgr.set(AlarmManager.RTC_WAKEUP, cldr.getTimeInMillis(), pi);*/
}
但它的崩潰? ,該怎么辦?
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// DO YOUR STUFF
}
}
IntentFilter filter = new IntentFilter();
在onResume :(所以你只在前台收到)
filter.addAction(/* the action you want to receive */);
registerReceiver(receiver, filter);
in onPause :( try catch是修復取消注冊中的錯誤,以防它被調用兩次)
try {
unregisterReceiver(receiver);
} catch (IllegalArgumentException e) {
if (e.getMessage().contains("Receiver not registered")) {
// Ignore this exception. This is exactly what is desired
Log.w(TAG,"Tried to unregister the reciver when it's not registered");
} else {
// unexpected, re-throw
throw e;
}
}
public class myActivity extends Activity {
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Message", Toast.LENGTH_SHORT);
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.