在后台启动Android应用程序时';他不跑了

在后台启动Android应用程序时';他不跑了,android,background-process,remote-notifications,Android,Background Process,Remote Notifications,这个问题与我们的观点一致,与我们的观点无关 我想知道,在已经强制退出的Android设备上,或者在设备上次重启后尚未启动的Android设备上,可以使用哪些机制启动应用程序。我想没有办法在前台启动应用程序,但应该有办法在后台启动 也许我们可以发送某种类型的“静默远程通知”,它将启动我们的应用程序以处理此通知,然后可能决定设置本地通知以显示给用户 我正在寻找一种记录在案的100%可靠的方式,这种方式不受操作系统一时兴起的影响,但实际上会在后台启动应用程序,并允许它做一些事情。试试这个。 基本上,您

这个问题与我们的观点一致,与我们的观点无关

我想知道,在已经强制退出的Android设备上,或者在设备上次重启后尚未启动的Android设备上,可以使用哪些机制启动应用程序。我想没有办法在前台启动应用程序,但应该有办法在后台启动

也许我们可以发送某种类型的“静默远程通知”,它将启动我们的应用程序以处理此通知,然后可能决定设置本地通知以显示给用户

我正在寻找一种记录在案的100%可靠的方式,这种方式不受操作系统一时兴起的影响,但实际上会在后台启动应用程序,并允许它做一些事情。

试试这个。 基本上,您可以将其添加到清单中:

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name">
    ...
    <!--
        Because android:exported is set to "false",
        the service is only available to this app.
    -->
    <service
        android:name=".RSSPullService"
        android:exported="false"/>
    ...
<application/>

这也很有帮助。

您可以从
广播接收器
启动应用程序,以响应各种系统广播,包括设备启动、定时报警等。承载后台进程的正确组件是
服务
。如果服务请求前台状态,则不太可能被终止,这会创建一个正在进行的(不可拒绝的)通知


主要的警告是,除非用户在安装应用程序后或自上次强制关闭应用程序后手动启动了应用程序的某个活动,否则您的
广播接收器将永远不会被调用。

您熟悉
服务吗?
public class RSSPullService extends IntentService {
    @Override
    protected void onHandleIntent(Intent workIntent) {
        // Gets data from the incoming Intent
        String dataString = workIntent.getDataString();
        ...
        // Do work here, based on the contents of dataString
        ...
    }
}