显示从 parse.com 获取的解析通知作为弹出窗口

Posted

技术标签:

【中文标题】显示从 parse.com 获取的解析通知作为弹出窗口【英文标题】:Display parse notification getting from parse.com as pop up 【发布时间】:2014-05-27 06:01:45 【问题描述】:

我想将从 parse.comparse push notification 收到的消息显示为弹出消息。

目前,当我从托盘中选择通知时,它只会打开应用程序。我希望能够在弹出窗口中显示该消息。

【问题讨论】:

【参考方案1】:

编写一个广播接收器来处理推送,这里是接收器..

public class MyCustomReceiver extends BroadcastReceiver 
    String title, time, msg;

    @Override
    public void onReceive(Context context, Intent intent) 

        Bundle extras = intent.getExtras();

        String message = extras != null ? extras.getString("com.parse.Data")
                : "";

        Log.e("message ", " " + message);

        JSONObject jObject;
        try 
            if (message != null && !message.equals("")) 
                jObject = new JSONObject(message);

            String msg=jObject.getString("msg");

                Intent pupInt = new Intent(context, ShowPopUp.class);
                         Intent.FLAG_ACTIVITY_NEW_TASK );
                                              context.getApplicationContext().startActivity(pupInt);


            

        

        catch (JSONException e) 
            e.printStackTrace();
        

    


将此添加到您的清单中

<service android:name="com.parse.PushService" />

        <receiver android:name="com.parse.ParseBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.RECEIVE_BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver android:name="your package name.MyCustomReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
                <action android:name="your package name.UPDATE_STATUS" />
            </intent-filter>
        </receiver> 

你的弹出消息类...

public class ShowPopUp extends Activity implements OnClickListener 

    Button ok;
    Button cancel;

    boolean click = true;

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setTitle("Message");
        setContentView(R.layout.popupdialog);
        ok = (Button)findViewById(R.id.popOkB);
        ok.setOnClickListener(this);
        cancel = (Button)findViewById(R.id.popCancelB);
        cancel.setOnClickListener(this);

    

    @Override
    public void onClick(View arg0) 
        // TODO Auto-generated method stub
        finish();
    
 

使用此代码发送推送通知

push.setOnClickListener(new OnClickListener() 

            @Override
            public void onClick(View v) 

                JSONObject obj;
                try 

                    obj = new JSONObject();
                    obj.put("alert", "tiltle of your push");
                    obj.put("action", "your package name.UPDATE_STATUS");


                    obj.put("msg", "push test");


                    ParsePush push = new ParsePush();
                    ParseQuery query = ParseInstallation.getQuery();

                    query.whereEqualTo("deviceType", "android");

                    push.setQuery(query);
                    push.setData(obj);
                    push.sendInBackground();


                 catch (JSONException e) 

                    e.printStackTrace();
                

                Toast.makeText(MainActivity.this, "Message Sent", 10000).show();
            
        );

希望您的问题能得到解决....

【讨论】:

:-它不工作。没有任何错误,但没有收到通知。 我不想发送通知。我只想在来自我的解析仪表板的弹出窗口中直接接收通知。 "action": "your package name.UPDATE_STATUS", "msg": "push test","alert": "text" 从你的解析仪表板发送推送,像这种格式.. 我怎样才能从我的解析仪表板发送这个.???.这将只包括一个警报而不是一个动作或类似的消息。

以上是关于显示从 parse.com 获取的解析通知作为弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

parse.com 上的 Apple 推送通知

未在 android 中使用 parse.com 获取推送通知

推送通知在 iphone 中没有收到来自 Parse.com 服务器的某些时间

在科尔多瓦项目中未收到解析推送通知

无法使用 parse.com 控制台发送/接收推送通知

Parse.com:在 onPushOpen 上获取 Pushnotification 消息