极光推送中广播接受数据为什么显示不到TextViewView
package com.itquanta;import com.itquanta.R;
import cn.jpush.android.api.InstrumentedActivity;
import cn.jpush.android.api.JPushInterface;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class MyReceiver extends InstrumentedActivity {
private TextView tv;
private static final String TAG = "InnerReceiver";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
JPushInterface.setDebugMode(true); //设置开启日志,发布时请关闭日志
JPushInterface.init(this); // 初始化 JPush
IntentFilter filter1 =new IntentFilter("cn.jpush.android.intent.REGISTRATION");
IntentFilter filter2 =new IntentFilter("cn.jpush.android.intent.UNREGISTRATION");
IntentFilter filter3 =new IntentFilter("cn.jpush.android.intent.MESSAGE_RECEIVED");
IntentFilter filter4 =new IntentFilter("cn.jpush.android.intent.NOTIFICATION_RECEIVED");
IntentFilter filter5 =new IntentFilter("cn.jpush.android.intent.NOTIFICATION_OPENED");
registerReceiver(InnerReceiver, filter1);
registerReceiver(InnerReceiver, filter2);
registerReceiver(InnerReceiver, filter3);
registerReceiver(InnerReceiver, filter4);
registerReceiver(InnerReceiver, filter5);
tv = (TextView) findViewById(R.id.tv);
}
private BroadcastReceiver InnerReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Log.d(TAG, "onReceive - " + intent.getAction() + ", extras: "
+ printBundle(bundle));
if (JPushInterface.ACTION_REGISTRATION_ID
.equals(intent.getAction())) {
String regId = bundle
.getString(JPushInterface.EXTRA_REGISTRATION_ID);
Log.d(TAG, "接收Registration Id : " + regId);
// send the Registration Id to your server...
} else if (JPushInterface.ACTION_UNREGISTER.equals(intent
.getAction())) {
String regId = bundle
.getString(JPushInterface.EXTRA_REGISTRATION_ID);
Log.d(TAG, "接收UnRegistration Id : " + regId);
// send the UnRegistration Id to your server...
} else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent
.getAction())) {
Log.d(TAG,
"接收到推送下来的自定义消息: "
+ bundle.getString(JPushInterface.EXTRA_MESSAGE));
tv.setText(bundle.getString(JPushInterface.EXTRA_MESSAGE));
System.out.println("======================="+tv);
} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED
.equals(intent.getAction())) {
Log.d(TAG, "接收到推送下来的通知");
int notifactionId = bundle
.getInt(JPushInterface.EXTRA_NOTIFICATION_ID);
String content = bundle.getString(JPushInterface.EXTRA_ALERT);
Log.d(TAG, "接收到推送下来的通知的ID: " + notifactionId);
tv.setText(content);
System.out.println("======================="+tv);
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent
.getAction())) {
Log.d(TAG, "用户点击打开了通知");
// 打开自定义的Activity
Intent i = new Intent(context, MyReceiver.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
} else {
Log.d(TAG, "Unhandled intent - " + intent.getAction());
}
}
};
// 打印所有的 intent extra 数据
private static String printBundle(Bundle bundle) {
StringBuilder sb = new StringBuilder();
for (String key : bundle.keySet()) {
if (key.equals(JPushInterface.EXTRA_NOTIFICATION_ID)) {
sb.append("\nkey:" + key + ", value:" + bundle.getInt(key));
} else {
sb.append("\nkey:" + key + ", value:" + bundle.getString(key));
}
}
return sb.toString();
}
}
补充:移动开发 , Android