嘿伙计们。我已经在我的应用程序中实现了 Google Cloud Messaging,但是当我尝试向用户显示从服务器接收到的消息时出现问题。我设法在祝酒词中显示消息,但我想使用警报对话框。这是我的 GCMBaseIntentService:
public class GCMIntentService extends GCMBaseIntentService {
public static final String SENDER_ID = "546677596418";
public GCMIntentService() {
super(SENDER_ID);
}
@Override
protected void onError(Context arg0, String arg1) {
// TODO Auto-generated method stub
Log.e("Registration", "Got an error!");
Log.e("Registration", arg0.toString() + arg1.toString());
}
@Override
protected void onMessage(final Context arg0, final Intent arg1) {
// TODO Auto-generated method stub
Log.i("Registration", "Got a message!");
Log.i("Registration", arg1.getStringExtra("message"));
Handler h = new Handler(Looper.getMainLooper());
h.post(new Runnable(){
public void run() {
// TODO Auto-generated method stub
Toast.makeText(arg0, arg1.getStringExtra("message"), Toast.LENGTH_LONG).show();
/* String msg = arg1.getStringExtra("message");
if(msg != null){
new AlertDialog.Builder(arg0)
.setTitle("New Notification")
.setMessage(msg)
.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).create().show();
}
*/
}
});
}
}
评论部分是我尝试显示警报对话框。我认为上下文是问题,但我真的不知道如何解决它。如果我为此使用通知会更好吗?