Android 关于App被杀死后,如何接收极光推送

作为一个程序媛,我要做到的就是听从上级的安排,有需求就实现。但是有的事情我表示真的很无力啊,就比如标题所说的需求。

因为ios在杀死app后都可以接收到通知,所以不懂的人就会觉得那Android应该都是可以的啊,

这个真是坑了我好多次啊,还有桌面角标也是同样的,人家ios就是系统支持的啊。我的天!!发火

希望产品经理和项目经理 多多了解一下iOS和Android的一些区别,避免尴尬微笑

 

1.如何在杀死APP的时候,再重新拉起APP,

这个问题已经遇到很多次了,但是都没有被解决,为什么呢,因为解决不了啊骂人,好想骂人哦

 

遇到这个问题我也上网查了 好多资料,也尝试了好多方法

1.比如说什么搞两个service互相拉起,试试了,也是不行,我是这么想的 你的东西是写在你APP里面的,都杀死了,你还怎么互相拉起,你还能吧service写入系统??

不好意思我只是个Android程序媛,不是做C程序的

2.APP杀死,收不到极光推送,网上说在mainfest注册自己的 recevice时,写入这两个就可以

 

<action android:name="android.intent.action.BOOT_COMPLETED" /><!--开机广播-->
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" /><!--网络状态改变广播-->

 

 

尝试过了也不行,我这里没有搞懂的是为什么app杀死跟开机有什么关系??

网络状态改变:因为现在的安卓手机为了达到省电省流量的情况,会自动把非白名单的用户的网络禁止掉,只有在打开应用的手机,才让其联网。

 

还有好多人说可以在mainfest加入

 

<!--   android:persistent="true" //,持续的,一直的,这样的话,app是杀不死的,推送肯是强烈建议不要这样做,因为这样就像某些流氓软件一样了,毕竟我定有可以收到了。但们做个应用出来,也不想让别人以为我们的是流氓软件吧-->

 

 

 

还有说加这个的,我尝试过 这些都是不可以

<intent-filter android:priority="1000">

 

 

 

最后说一下我研究的成果吧:

 

在极光推送自定义的Myrecevice里面

 

public class MyReceiver extends BroadcastReceiver {
    private static final String TAG = "JIGUANG-Example";
    public static int msgNum = 0;

    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            Intent pushintent = new Intent(context, PushService.class);//启动极光推送的服务
            context.startService(pushintent);

 

 

 

 

然后吧这些加上,

 

android:persistent="true" 

 

 

 

 

<action android:name="android.intent.action.BOOT_COMPLETED" /><!--开机广播-->
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" /><!--网络状态改变广播-->

 

 

 

 

然后吧app手动设置为自启动模式,本人尝试了,VIVO手机杀死APP后可以收到推送,但是华为,三星的就不可以,其他手机没有测试,因为没有,

所以啊 ,还是不靠谱,就算这样写了,像华为,小米,这样的手机系统分分钟吧你干死,难过

 

 

对于自启动每个牌子的手机也是不同的,自启动必须是引导用户去开启,不能直接写权限,如何想尝试的同学,可以验证验证我的方法,说不定会有不一样的收获

 

 

最后我就直接去找极光的客服了,问问他们要怎么解决

下面是我跟极光推送客服的聊天咨询,不用多数都明白了,吧这个交给上级,如果要做就让他们去跟厂家商量合作。一般都是会不了了之的,因为要钱啊偷笑偷笑偷笑偷笑

 

 

 

 

 

最后就是,遇到这样的问题的时候,不要急,主要还是跟上级沟通,说明情况大笑

 

 

如果已经通过代码方法实现了的大神,或者通过其他方法实现的,可以给我指教指教

如有不对的地方,多多包涵

 

好了,,吐槽这么多了,不说了

喜欢的就给妹子点个赞,么么哒,扫描支付宝二维码领赏金

 

 

 

 

 

 

 

  • 52
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 54
    评论
Android 中,如果应用程序被杀死,定时任务将停止。但是,你可以使用 Android 的 AlarmManager 类来实现即使在应用程序被杀死时也能够调度定时任务的功能。 使用 AlarmManager,你可以指定一个时间,以及要执行的任务。当指定的时间到达时,系统会向你的应用程序发送一个广播,以便启动指定的任务。在接收到广播时,你的应用程序可以执行需要执行的操作,如发送通知或启动服务。 以下是一个简单的示例代码,演示如何使用AlarmManager来运行定时任务: ``` AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(this, YourBroadcastReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); // 设置每 10 分钟执行一次任务 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10 * 60 * 1000, pendingIntent); ``` 在这个示例中,我们使用AlarmManager的setRepeating()方法来设置一个重复的定时任务。该方法采用四个参数: - 第一个参数指定闹钟类型,这里使用RTC_WAKEUP表示在指定的时间唤醒设备。 - 第二个参数指定任务应该在何时开始执行,这里我们使用System.currentTimeMillis()来指定当前时间。 - 第三个参数是指定任务将在多长时间内执行一次,这里我们设置为每10分钟执行一次。 - 最后一个参数是一个PendingIntent,它指定要执行的任务。 当你的应用程序被杀死时,Android 系统会保持 AlarmManager 的定时任务运行,直到指定的时间到达。一旦指定的时间到达,系统会启动你的应用程序并发送一个广播,以便你的应用程序可以执行指定的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值