【发布时间】:2014-03-27 12:16:41
【问题描述】:
我有一个 MainActivity 类,它调用服务器以在 onCreate() 方法中获取消息。
然后我在 MainActivity 类之外有一个 BroadcastReceiver 类。
这是我的 BroadcastReceiver 类:
public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Explicitly specify that GcmIntentService will handle the intent.
ComponentName comp = new ComponentName(context.getPackageName(),
GcmIntentService.class.getName());
// Start the service, keeping the device awake while it is launching.
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
Bundle extras = intent.getExtras();
if (extras != null) {
// This is where I want to refresh/reload MainActivity
}
}
}
如果 extras != null 我想刷新我的 MainActivity 类,以便它再次调用 onCreate()。我该怎么做?
这是我的清单文件 sn-p:
<receiver
android:name="za.co.vine.samplepush.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="za.co.vine.samplepush" />
</intent-filter>
</receiver>
【问题讨论】:
-
使用意图启动 MainActivity
-
使用第二个广播接收器或本地广播。
标签: java android android-activity broadcastreceiver