当我使用google cloud messaging向我的android应用程序发送消息时,我不知道如何打开一个yes或no对话框(比如javasrcript确认框),如果点击yes,它会在浏览器中打开一个网站,如果点击no,它什么也不做。
我已经花了太多的时间,我不想在最后没有失败代码的情况下向您展示这些基本代码,但是我实在是没有主意了,并且尝试了我在网上找到的示例的太多变体。我怀疑它们失败的原因要么是我使用了错误的上下文,要么是我试图从这个服务类中完成它。
public class GCMIntentService extends GCMBaseIntentService {
@Override
protected void onMessage( Context myContext, Intent intent ) {
// TODO Auto-generated method stub
Log.i( LOG_TAG, "GCMIntentService onMessage called" );
Log.i( LOG_TAG, "Message is: " + intent.getStringExtra( "data" ) );
JSONObject o = API.getJSONObj(intent.getStringExtra( "data" ));
String URL = "";
String message = "";
try {
URL = o.getString("URL");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
message = o.getString("message");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/* Code to open dialog or website goes here */
2条答案
按热度按时间eit6fx6z1#
每次收到通知时都会调用onMessage方法。要在收到通知时打开对话框,您可以在onMessage中启动另一个Activity,并将您的代码(对话框)放入该Activity中。或者,您也可以将其设置为通知。如下所示:
i34xakig2#
尝试此操作,在GCMIntentService中编写生成通知中的上述代码
当单击通知时,它将转到应用程序中的活动,之后您可以在活动中创建对话框以及任何您想要放入活动中的内容