标签: background-process

AudioQueueStart失败-12985

我制作了一个流媒体音乐播放器,它在前台运行良好.但在后台iOS4中,它不会自动播放下一首歌曲.(遥控器工作)原因是AudioQueueStart return -12985.

我已经检查了音频会话.它很好.我AudioQueueStart开始播放音乐时使用.你怎么能删除AudioQueueStart

- (void)play
{
    [self setupAudioQueueBuffers];    // calcluate the size to use for each audio queue buffer, and calculate the // number of packets to read into each buffer
    OSStatus status = AudioQueueStart(self.queueObject, NULL); 
}
Run Code Online (Sandbox Code Playgroud)

我在网上读到了关于AudioQueueStart失败主题的答案.

要检查的一件事是AudioSession首先处于活动状态.在我的情况下,我之前在开始播放新歌之前将会话设置为在歌曲更改之间处于非活动状态:AudioSessionSetActive(false);

一旦我删除了这个AudioQueueStart从后台工作得很好.

background-process audioqueueservices audiosession ios4

9
推荐指数
1
解决办法
2255
查看次数

使用phonegap在后台执行javascript

我创建了一个需要每隔"X"分钟触发javascript事件的应用程序.我正在使用手机间隙构建在Android/iPhone/Blackberry上部署,但我当然卡住了,因为javascript计时器不会在后台触发(当他们最小化应用程序时).我想知道,当应用程序在后台运行时,phonegap是否具有某种触发javascript事件的能力.

或者有没有办法在这些主要手机上轻松实现这一目标?我只需要用手机中的地理位置信息发起ajax呼叫.

iphone android blackberry background-process dom-events

9
推荐指数
1
解决办法
6839
查看次数

当启动活动在仍在运行时停止/销毁时,AsyncTask会发生什么?

我看到几个与我几乎完全相同的问题,但我找不到满足我所有疑虑的完整答案..所以我在这里..假设你有一个内部类的活动,扩展了这个AsyncTask类:

public class MyActivity extends Activity {            
    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
        protected Bitmap doInBackground(String... urls) {
            return DownloadImage(urls[0]); 
        }
        protected void onPostExecute(Bitmap result) {
            ImageView img = (ImageView) findViewById(R.id.img); 
            img.setImageBitmap(result);
        }  
    }

    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);
        new DownloadImageTask().execute("http://mysite.com/image.png")
    }
}
Run Code Online (Sandbox Code Playgroud)

假设活动暂停或销毁(可能两种情况不同),而 DownloadImageTask仍然在后台运行..那么,DownloadImageTask可以触发在活动UI线程上运行的方法,并且DownloadImageTask可能尝试访问Activity的方法(它是一个内部类,因此它可以使用暂停或销毁的Activity来访问外部类的方法和实例变量,就像findViewByID下面示例中的调用一样..那么会发生什么?它是否默默失败?它会产生任何异常吗?是否会通知用户出现了问题?

如果在调用run-on-UI方法时我们应该注意启动线程(本例中的Activity)仍处于活动状态,那么我们如何从内部实现AsyncTask呢?

如果您认为这是一个重复的问题,我很抱歉,但也许这个问题有点明确,有人可以更详细地回答

android background-process ui-thread android-asynctask

9
推荐指数
1
解决办法
5487
查看次数

Phonegap应用程序在背景中死亡,同时收集位置

我有一个内置在PhoneGap中的应用程序,它利用navigator.geolocation调用来跟踪移动设备的坐标.用户可以控制开始跟踪以及结束跟踪.该应用程序的构建是为了在后台接收坐标更新.该应用程序适用于Android和iOS设备.

Android版本似乎在后台崩溃时容易崩溃.在一些手机上它确实没问题,但是在很多手机上,应用程序只会在它应该在后台收集坐标数据时死掉.我在下面发布了一个LogCat日志.似乎WIN DEATH发生在管理员调用"不再需要"的过程CCWalkerActivity后不久Activity(两者都在下面加粗).但是,我无法确定为什么会发生这种情况以及为什么会这么频繁发生.

这是Phonegap的问题吗?创建一个可以使进程成为前台服务(使用startForeground())的插件是否有益?

10-19 14:50:12.439 D/dalvikvm(  496): GC_CONCURRENT freed 1917K, 28% free 12417K/17031K, external 11622K/13670K, paused 12ms+10ms
10-19 14:50:13.040 D/CordovaLog( 6275): isGPSEnabled succeeded, accuracy: 12
10-19 14:50:13.040 D/CordovaLog( 6275): file:///android_asset/www/lib.js: Line 24 : isGPSEnabled succeeded, accuracy: 12
10-19 14:50:13.040 I/Web Console( 6275): isGPSEnabled succeeded, accuracy: 12 at file:///android_asset/www/lib.js:24
10-19 14:50:13.072 D/CordovaLog( 6275): collectLocationData success: 12
10-19 14:50:13.072 D/CordovaLog( 6275): file:///android_asset/www/lib.js: Line 24 : collectLocationData success: 12
10-19 14:50:13.072 I/Web Console( 6275): …

android geolocation background-process cordova

9
推荐指数
1
解决办法
993
查看次数

有没有办法在收到推送通知时唤醒iOS应用程序,即使它已被杀死

我需要一种方法来接收静默推送通知,然后显示本地通知(所以我可以在显示给用户之前处理数据)有没有办法做到这一点? didReceiveNotification仅在前景时调用.我相信该应用程序是在接收推送时在后台启动的.但是,似乎没有解决应用程序何时被杀死的问题.

编辑我知道PushKit,但我的应用程序不是VOIP应用程序,它是一个IM应用程序.

background-process push-notification ios

9
推荐指数
1
解决办法
597
查看次数

如何在后台使用PHPMailer发送电子邮件?

PHPMailers在从Gmail帐户发送电子邮件方面做得很好.但这需要相当长的时间,在电子邮件发送之前,页面不会显示响应.有什么方法可以在后台发送电子邮件,以便为用户提供更好的用户体验?谢谢!

php email background background-process phpmailer

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

使用 psutil 查找所有前台应用程序

当我进入任务管理器时,我可以看到两个部分。应用程序(3) 和后台进程(94)。我想做的就是只获取不在后台的那 3 个。

我的代码:

for proc in psutil.process_iter():
    print(proc.name())
Run Code Online (Sandbox Code Playgroud)

但这给了我所有在前台和后台运行的 90 多个应用程序的名称。如何将其中一个与另一个分开?

python process background-process psutil

8
推荐指数
0
解决办法
1116
查看次数

如何在后台任务中使用具有依赖性的范围服务

这是我的风景。我想使用后台任务向订阅用户发送时事通讯。这是由 MailService 完成的,它具有 UnitOfWork 作为依赖项。

我尝试了docs.microsoft.com 中的解决方案, 因此在我的情况下,我使用 IMailService 方法而不是 ILogger,但出现错误:

System.InvalidOperationException: '不能从单例 >'Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor' 使用范围服务 >'Fit4You.Core.Data.IUnitOfWork'。

我不想让我的 UnitOfWork 或 DbContext 具有单例生命周期。是否有可能以某种方式使用范围为 UnitOfWork 的 MailService 的依赖项?

我知道 IServiceScopeFactory 但可能不知道如何正确使用它。

我正在使用 .NET Core 2.2 并内置接口 IHostedService

范围邮件服务:

public class ScopedMailService : IScopedMailService
{
    private readonly IMailService mailService;

    public ScopedMailService(IMailService mailService)
    {
        this.mailService = mailService;
    }

    public void DoWork()
    {
        mailService.SendNewsletterToSubscribedUsers();
    }
}
Run Code Online (Sandbox Code Playgroud)

消费范围邮件服务:

public class ConsumeScopedMailService : IHostedService
{
    private Timer timer;
    private readonly IMailService mailService;
    public IServiceProvider Services …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection background-process background-service asp.net-core-2.2

8
推荐指数
1
解决办法
2446
查看次数

接听电话时在后台执行dart函数

是否有任何 flutter 插件或文章可以做到这一点。

我想要的是:在 dart 中运行一个使用来电号码作为参数的方法,即使在应用程序终止后也是如此。

即使在flutter应用程序终止或关闭后,是否有任何方法可以运行代码。

场景:当用户接到电话时。该数字应该添加到我在 flutter 应用程序中编写的 flutter 函数中。该函数将检查我的数据库中的数字并将该数字共享给 API。

即使应用程序被终止,我也需要此进程在后台工作。(如 Truecaller)

Main.dart

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
  static const platform = const MethodChannel('samples.flutter.dev/battery');
  // Get battery level.
  String _batteryLevel = 'Unknown battery level.';

  Future<void> _getBatteryLevel() async {
    String batteryLevel;
    try {
      final int result = await platform.invokeMethod('getBatteryLevel');
      batteryLevel = 'Battery level at $result % .';
    } on PlatformException catch (e) {
      batteryLevel = "Failed to get battery level: '${e.message}'.";
    }

    setState(() …
Run Code Online (Sandbox Code Playgroud)

android background-process alarmmanager dart flutter

8
推荐指数
1
解决办法
1446
查看次数

Flutter - 如何在后台实时、定期向后端发送位置更新。(Android 和 IOS 均适用)

我想定期在后台实时向我们的后端服务发送用户的位置更新(即使应用程序未运行/终止)。

目前,我们正在通过应用程序和后端之间的网络套接字发送位置更新。

问题是网络套接字在以下情况下断开连接(应用程序终止、电池优化或应用程序在后台且操作系统需要更多内存)。

如何保持网络套接字连接(也许每天 12 小时)?

在这种情况下,使用网络套接字是一种不好的做法吗?

实时发送位置更新的好替代方案是什么?(请记住,后端使用网络套接字将数据发送到应用程序(但不经常,我们可以使用推送通知代替)。)。

我正在使用geolocator包来获取用户的当前位置。并socket_io_client打包连接到网络套接字。

我们的目标是Android 和 IOS

当前实施情况

// imports ...

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(
        socket: Geolocator.getPositionStream(),
        positionStream:  IO.io(kHost, <String, dynamic>{ 'transports': ['websocket'] }),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({this.socket, this.positionStream});

  final Stream<Position> positionStream;
  final IO.Socket socket;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends …
Run Code Online (Sandbox Code Playgroud)

geolocation background-process websocket dart flutter

8
推荐指数
0
解决办法
1677
查看次数