Android,使用 parse.com 推送通知,自动启动应用程序

Posted

技术标签:

【中文标题】Android,使用 parse.com 推送通知,自动启动应用程序【英文标题】:Android, Push notification using parse.com, launches the app automatically 【发布时间】:2015-09-06 08:23:43 【问题描述】:

我的问题是,当推送来自解析服务时,有时应用程序会自动打开,就好像我点击了通知栏中的通知一样。 也许有人已经面临类似的问题?

这是我的 CustomReseiver:

public class CustomPushReceiver extends ParsePushBroadcastReceiver 
private final String TAG = CustomPushReceiver.class.getSimpleName();


private Intent parseIntent;

public CustomPushReceiver() 
    super();


@Override
protected void onPushReceive(Context context, Intent intent) 
    super.onPushReceive(context, intent);

    if (intent == null)
        return;

    try 
        JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
        Log.e(Constans.LOG_TAG, "Push received: " + json);
        parseIntent = intent;
        // Toast.makeText(ParseApplication.get(), json.getString("alert"), Toast.LENGTH_SHORT).show();
        if(ProfileBriefsFragment.profileBriefsContext instanceof Profile_SideBar_Activity)
            ((Profile_SideBar_Activity)ProfileBriefsFragment.profileBriefsContext).pushReceived(json);
        
        CurrentUser.getInstance().setHaveNewNotidication(true);
        Notification_center_Activity.updateNotifications();
     catch (JSONException e) 
        Log.e(TAG, "Push message json exception: " + e.getMessage());
    


@Override
protected void onPushDismiss(Context context, Intent intent) 
    super.onPushDismiss(context, intent);


@Override
public void onPushOpen(Context context, Intent intent) 
    Intent i = new Intent(context, NewHomeActivity.class);
    i.putExtras(intent.getExtras());
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);

public interface OnPushReceived
    void pushReceived(JSONObject json);

【问题讨论】:

【参考方案1】:

试试这个

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) 
           // Initialize Parse
           Parse.initialize(this, "your id from parse");


           ParseInstallation.getCurrentInstallation().saveInBackground();
           Parse.setLogLevel(Parse.LOG_LEVEL_INFO);

       


  PushService.setDefaultPushCallback(this, MainActivity.class, R.drawable.ic_notification);

只有当你点击通知 MainActivity Opened 时才使用 setDefaultPushCallback。

希望有用。

【讨论】:

谢谢,但现在当我点击通知时它不会打开,只有当应用程序在后台打开时才会打开。 好的,我删除了这行“Parse.setLogLevel(Parse.LOG_LEVEL_INFO);”,现在看起来可以正常工作了,我会继续测试,谢谢。

以上是关于Android,使用 parse.com 推送通知,自动启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

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

Android,使用 parse.com 推送通知,自动启动应用程序

如何在 Android 中禁用多个推送通知图标,我正在使用 Parse.com

android 使用 parse.com api 通过推送通知实现聊天

Android:我应该使用啥来进行 android 推送通知?谷歌云消息传递或 Parse.com

如何使用 Parse.com 推送通知服务在 Android 应用程序中推送 URL?