Android 安卓-是什么启动了我的服务?

Android 安卓-是什么启动了我的服务?,android,android-service,Android,Android Service,我有一个服务,我用它来上传选定的文件,而用户正在做其他事情。当我的应用程序告诉它时,它启动,当我的应用程序告诉它时,它停止。但由于某些原因,我在使用其他应用程序时,会在看似随机的时间收到服务启动通知。有没有办法确定是什么让我的服务启动的 它是标准服务,因为它扩展了服务,并绑定到我的UploadScreenActivity onCreate非常简单: public void onCreate() { instance = this; if(connectivityManager =

我有一个服务,我用它来上传选定的文件,而用户正在做其他事情。当我的应用程序告诉它时,它启动,当我的应用程序告诉它时,它停止。但由于某些原因,我在使用其他应用程序时,会在看似随机的时间收到服务启动通知。有没有办法确定是什么让我的服务启动的

它是标准服务,因为它扩展了服务,并绑定到我的UploadScreenActivity

onCreate非常简单:

public void onCreate() {
    instance = this;
    if(connectivityManager == null){
            connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    }
    mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

    Toast.makeText(this, "Service started", Toast.LENGTH_SHORT).show();
}
在浏览其他应用程序时,“服务启动”通知似乎是随机出现的


我的服务代码基于服务文档中的本地服务示例:

系统不会自行启动您的服务。应用程序是否在广播接收器外部监听任何内容?如果没有,您必须在代码的某个地方启动它。我会加强伐木并密切关注。或者将事件发布到错误日志记录服务(bugsense、acra等)


代码的哪些部分启动服务?我从那里开始。Occam的剃须刀。

您是否为您的服务定义了一个意向过滤器,该过滤器允许其他应用程序隐式启动您的服务。 此外,来自android开发者的参考可能会有所帮助: android:导出
其他应用程序的组件是否可以调用服务或与之交互—如果可以,则为“true”,如果不能,则为“false”。当值为“false”时,只有相同应用程序或具有相同用户ID的应用程序的组件才能启动或绑定服务。

您的问题尚不清楚。。。你能分享你的代码吗?