jjzjj

IntentService

全部标签

android - 获取 IntentService 的进度

我正在开发一款需要大量API调用的Android应用。我构建了一个基于IntentService实现排队系统的系统。问题是,我想在IntentService运行时显示准确的ProgressBar更新。一种方法是将排队系统更改为一系列AsyncTasks。我必须使用onProgressUpdate()显示进度。另一种方法是调整IntentService并从后台线程获取进度。问题是,我想结合IntentService和AsyncTask的优点:制作一个可以轻松处理UI事件的排队系统。有实现它的最佳方法吗?编辑:我最终使用了AsyncTasks而不是IntentServices。但是,如果有

使用 Service 或 IntentService 的 Android Client/Server Socket 通信

到目前为止,我能够在一个安卓设备(wifi网络共享/热点)上启动一个服务器,让客户端(另一个安卓)连接并向服务器发送消息。然后服务器回复了那个。我意识到我需要一种方法来保持服​​务器监听客户端,即使聊天应用程序没有运行。客户端应该能够发送消息并且服务器应该接收到它。我应该使用Service还是IntentService来实现它?我不能从AsyncTask和Service扩展...如何实现它?一些示例代码会很棒。这是我的服务器的样子:publicclassServerextendsAsyncTask{privateServerSocketserverSocket;privateTextV

android - 有什么办法可以强制不重新创建 IntentService 吗?

我遇到的问题是,在两次后续的startService调用之间,IntentService的私有(private)数据被清除-我假设服务在第一次调用完成后停止,然后在处理第二次调用时重新创建。有什么方法可以强制不重新创建IntentService或将此私有(private)数据存储为在后续的两次startService例程调用中相同? 最佳答案 如果您想尝试跨实例保存数据,您可以将它放在一个静态变量中。一个典型的例子:你有一些状态你加载磁盘,所以你创建一个全局单例,在第一次实例化时加载数据,然后进一步请求它使用相同的实例(不重新加载数

android - 如何让 WakefulService (IntentService) 等到 MediaPlayer 完成?

我正在尝试制作一个应用程序,它在预定的时间使用MediaPlayer播放一系列声音。为了正确处理唤醒锁并安排播放,我使用了CommonsWare'sWakefulIntentService.不幸的是,IntentService的工作线程在我调用MediaPlayer.play()后立即退出,并且MediaPlayer注册的监听器都没有被调用。相反,会记录异常:W/MessageQueue(6727):Handler(android.media.MediaPlayer$EventHandler){4160d820}sendingmessagetoaHandleronadeadthread

Android - 重试 IntentService 的最佳实践

我的Android应用程序将大量文件发送到AmazonS3。每个文件URI都通过单独调用传递给执行上传的IntentService。但是,我想知道处理失败的最佳方法是什么...我是否应该使用IntentService的onHandleIntent()方法检测失败并重试在同一个方法中,或者我应该允许在方法之外处理失败(如果是这样,如何处理?)?我个人倾向于第一个建议,因为我希望在尝试上传后续文件之前成功上传任何文件,但我不确定是否检测到错误并在onHandleIntent()中执行重试方法是好的做法(?)。 最佳答案 这是一个很好的问

android - 多次启动IntentService android

我正在开发一个android项目,我正试图找到一种方法来改进以下代码。我需要知道我的开发方式是否可行:notification是从数据库中获取的GCM通知我的问题是关于我多次调用的Intent服务。可以吗?应该如何改进?while(((notification))!=null){{message=notification.getNotificationMessage();//tokenizemessageif(/*message1*/){Intentintent1=newIntent(getApplicationContext(),A.class);intent1.putExtra("

android - 当 IntentService 启动时,Application 对象会启动吗?

我想了解Android中的Application对象生命周期,尤其是IntentService。如果IntentService启动,Application对象会随之启动吗?确切的顺序是什么?最后,这种情况下什么时候销毁? 最佳答案 Application实例是一个单例。每当Android创建操作系统进程来托管应用程序的Android组件(Activity、Service、BroadcastReceiver、Provider)时,它都会执行以下操作:创建一个新的Application实例(它将调用该类的构造函数)在新的Applicat

在 IntentService 中实现的 Android LocationLister 从不执行 OnLocationChanged() 方法

我编写了一个实现LocationListener接口(interface)的IntentService。首次调用OnLocationChanged()方法时,服务应发送一条消息。但是永远不会调用OnLocationChanged()。这是我的代码:publicclassMyIntentServiceextendsIntentServiceimplementsLocationListener{privateintresult=Activity.RESULT_CANCELED;protectedMessengermMessenger;protectedLocationManagermLoc

java - IntentService 中的广播接收器

我正在尝试在IntentService的onHandleIntent()方法中注册DownloadManager.ACTION_DOWNLOAD_COMPLETE接收器,并在onDestroy()中注销接收器IntentService的方法。但我认为它没有被注册,因为一旦下载完成,接收器的onReceive()方法就不会被触发。谁能帮我解决这个问题? 最佳答案 创建服务类,publicclassConnectionBroadReceiverextendsBroadcastReceiver{@OverridepublicvoidonR

android - 具有自己进程的 IntentService 中的 ANR

我有一个有自己进程的IntentService,就像这样:AndroidManifest.xml然后当IntentService运行时,它会创建两个线程。其中一个任务是一个线程,是一个长任务(超过1分钟)。我遇到了ANR问题。10-2418:51:27.923:E/ActivityManager(148):ANRincom.app:FooService10-2418:51:27.923:E/ActivityManager(148):Reason:Executingservicecom.app/.services.FooService10-2418:51:27.923:E/Activit