から放送を受信します。私はすべてをやったと思うけど、うまくいきません。何が間違っているのか教えていただけますか?は、私は、通知が到着したときの断片にブロードキャストを送信しようとする通知
if (code == 1) {
int id = Integer.parseInt(data[1]);
int idMessage = Integer.parseInt(data[2]);
String user = data[3];
String messageChat = data[4];
Intent intent2 = new Intent(arg0, ChatMainActivity.class);
intent2.putExtra("alert", true);
intent2.putExtra("userId", id);
intent2.putExtra("messageId", idMessage);
intent2.putExtra("userName", user);
intent2.putExtra("message", messageChat);
intent2.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent2.setAction("mac.baseline.baselinemobile.BroadcastReceiver");
sendBroadcast(intent2);
PendingIntent pIntent = PendingIntent.getBroadcast(arg0, 0,
intent2, 0);
boolean isRunning = isApplicationRunning();
if (isRunning) {
intent2 = new Intent(arg0, AlertReceiver.class);
pIntent = PendingIntent.getBroadcast(arg0, 0, intent2, 0);
}
Notification notification = new NotificationCompat.Builder(arg0)
.setContentTitle("Baseline™")
.setContentText("Nowa wiadomość od: " + user + ": " + messageChat)
.setSmallIcon(R.drawable.alert2)
.setTicker(newItems)
.setContentIntent(pIntent).build();
、これは私が私の断片でそれを受け取る方法です:
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "onReceive: works!");
}
};
public void onResume()
{
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("mac.baseline.baselinemobile.BroadcastReceiver");
LocalBroadcastManager.getInstance(getActivity()).
registerReceiver(mReceiver, filter);
}
public void onPause()
{
super.onPause();
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mReceiver);
}
)の代わりに、onPause() – Masum
いや、それは – Bartos