标签: android-service

Intent和PendingIntent之间的差异

我读了一些文章,似乎都做了同样的事情,我想知道启动服务之间的区别是什么:

Intent intent = new Intent(this, HelloService.class);
startService(intent);
Run Code Online (Sandbox Code Playgroud)

或者像那样:

Calendar cal = Calendar.getInstance();
Intent intent = new Intent(this, MyService.class);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pintent); 
Run Code Online (Sandbox Code Playgroud)

当我读完时,这两个做同样的事情,如果在服务中你返回一个参数START_STICKY;

android android-service

92
推荐指数
4
解决办法
5万
查看次数

用于启动服务的Android onCreate或onStartCommand

通常当我创建Android服务时,我实现了该onCreate方法,但在我的上一个项目中,这不起作用.我尝试实现onStartCommand,这似乎工作.

问题是:当我必须实现一个需要哪种方法的服务时?我必须实施哪些方法?onCreate,onStartCommand或两者兼而有之?每个人的角色是什么?

android android-service oncreate

90
推荐指数
2
解决办法
7万
查看次数

服务中的广播接收器

我想在一个BroadcastReceiver内部启动Service.我想要做的是有一个后台运行service,收集传入的短信,并记录来电.我认为最好的解决方法是service运行一个包含可以编目的广播接收器.

我该怎么做呢?我已经启动并运行了我的服务.

sms android broadcastreceiver android-service

86
推荐指数
2
解决办法
9万
查看次数

致命 Android 12:异常:由于 mAllowStartForeground false 而不允许 startForegroundService()

我注意到 Pixel 5 和 Pixel 4a(均在 Android 12 上)有一个例外(Firebase Crashlytics),没有其他设备,仅发生两次,每个设备一次。

这是什么意思?Android 11 和 12 对于前台服务的使用规则相同,但 Android 11 没有问题。这是 Pixel 的错误吗?

来自 Firebase Crashlytics:

Fatal Exception: android.app.ForegroundServiceStartNotAllowedException
startForegroundService() not allowed due to mAllowStartForeground false: service com.*.*/.service.RecorderService

android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel (ForegroundServiceStartNotAllowedException.java:54)
androidx.core.content.ContextCompat.startForegroundService (ContextCompat.java:6)
MyAppPackageHidden.service.RecorderService$Companion.startService (RecorderService.java:2)
MyAppPackageHidden.ui.rec.RecActivity$getConnectionRecorderService$1.onServiceConnected (RecActivity.java:4)
android.app.LoadedApk$ServiceDispatcher.doConnected (LoadedApk.java:2077)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)

Fatal Exception: android.app.ForegroundServiceStartNotAllowedException: startForegroundService() not allowed due to mAllowStartForeground false: service MyAppPackageHidden/.service.RecorderService
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
       at android.os.Parcel.readParcelable(Parcel.java:3333)
       at android.os.Parcel.createExceptionOrNull(Parcel.java:2420)
       at android.os.Parcel.createException(Parcel.java:2409)
       at android.os.Parcel.readException(Parcel.java:2392)
       at android.os.Parcel.readException(Parcel.java:2334)
       at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:5971)
       at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1847)
       at android.app.ContextImpl.startForegroundService(ContextImpl.java:1823)
       at …
Run Code Online (Sandbox Code Playgroud)

android android-service android-12

84
推荐指数
3
解决办法
7万
查看次数

启动没有主Activity的Android应用程序,并在启动应用程序时启动Service

我的应用程序中有以下场景.我的应用程序中没有UI; 相反,有一个服务在启动时启动并将继续运行.

如何在没有主Activity的情况下配置清单文件?我是否可以在没有任何活动的情 在启动我的应用程序时,我的服务应该启动.这可能吗?

我不想制作半透明的Activity来启动服务.

android android-service android-activity

81
推荐指数
4
解决办法
10万
查看次数

Android广播接收器与服务

我试图澄清Android中广播接收器和服务之间的区别.

我知道活动可以通过调用startService意图来启动服务.

广播接收器可以在代码或清单中注册,并可以使用sendBroadcast.

你什么时候使用一个与另一个?

我知道多个广播接收器可以监听相同的意图,而服务并非如此.

android android-service android-broadcast

76
推荐指数
3
解决办法
5万
查看次数

如何在后台始终运行服务?

我正在创建一个类似于内置SMS应用程序的应用程序.

我需要的:

  • 始终在后台运行的服务
  • 每5分钟一次.该服务检查设备的当前位置并调用Web服务
  • 如果满足某些条件,服务应生成通知(就像SMS应用程序一样)
  • 单击通知时,用户将被带到应用程序(就像SMS应用程序一样)
  • 安装应用程序时,应启动该服务
  • 重启设备时,应启动该服务

我尝试过:
- 运行常规服务,直到Android杀死服务一直工作
- 使用AlarmManager进行5分钟.间隔呼叫服务.但我无法做到这一点.

android android-service background-thread

73
推荐指数
2
解决办法
8万
查看次数

使用Phonegap创建Android服务?(即使关闭,也可以运行phonegap app)

我一直在使用Phonegap开发Android应用程序,现在想要关闭应用程序,它仍然可以在应用程序中执行java/js代码.所以我理解我需要创建一个服务.如果我在phonegap上创建服务插件,我仍然可以执行javascript代码或只执行java吗?

有没有人做过这样的事情?我找到了这个讨论,但似乎没有用:http://groups.google.com/group/phonegap/browse_thread/thread/722b0e796baa7fc6 这就是我现在所拥有的一切.

在我转向开发本土之前,如果我无法弄清楚它以为我会问以前是否有人这样做过.我似乎无法找到任何类似的手机插件插件.

编辑:我有一个应用程序执行Java代码作为服务.但是当它调用sendjavascript时它不起作用.那么有什么方法可以在后台运行javascript代码以及使用phonegap关闭应用程序时?

谢谢

mobile android android-intent android-service cordova

72
推荐指数
2
解决办法
7万
查看次数

如何在不显示通知的情况下startForeground()?

我想创建一个服务并让它在前台运行.

大多数示例代码都有通知.但我不想透露任何通知.那可能吗?

你能举个例子吗?还有其他选择吗?

我的应用服务正在做媒体播放器.如何使系统不杀死我的服务,除了应用程序自杀(如按钮暂停或停止音乐).

android foreground android-service

72
推荐指数
9
解决办法
8万
查看次数

在android中的位置监听器的后台服务

我正在创建一个将在自己的进程中运行的后台服务.它应该允许我听设备位置是否已更改.我应该能够在通知用户界面之前更改移动距离等标准.

我怎么能这样做?我对服务和LocationListener实现有一点了解.任何围绕网络的教程将不胜感激.

我从堆栈溢出中获得了一个反向链接,但我对此并不了解.

android android-service android-location

71
推荐指数
3
解决办法
11万
查看次数