Articles of 服务

后台进程定期扫描用户的位置,并在应用程序未打开时更新本地数据库

我正在创build一个应用程序,每半小时检查一次用户位置,并更新用户在本地数据库中的位置,然后根据用户的位置运行CRUD查询,即使应用程序未运行。 我该怎么做 ? 我已经提到这个http://techtej.blogspot.com.es/2011/03/android-thread-constructspart-4.html文章,我仍然对我的结果是正确的方法感到困惑。 根据这篇文章,我有4个选项可以实现 1)服务:但是由于我觉得这将是一个长期的操作与本地数据库,我觉得我应该忽略这一个。 2)IntentService:这不能执行多个任务,所以我觉得这个也应该避免,因为我必须得到用户的位置和扫描数据库,更新数据库(3任务) 3)线程:我不知道如何调用这个应用程序没有打开 4)AsyncTask:我不知道如何调用这个应用程序没有打开。 基本上我在寻找类似CRON JOB的东西,在位置数据上工作时在本地数据库上运行。 如果你能把我和一些教程联系起来,并且用一个简单的例子来回答,让我了解所有4种方法的区别,那就太好了。 //在3月16日编辑:我已经读了一些关于在API 21中引入的JobScheduler,但不知道它是否也支持,直到姜饼,这是我的问题的正确方法 感谢名单

如何获得android后台运行的进程的细节

我想列出所有后台正在运行的进程,并从一个后台服务(没有UI)获取这些进程的详细信息。 详情如下: 1. Name 2. Memory usage 3. Application related to process 4. Files they are accessing 5. Last modified time of files 我可以得到后台运行进程列表,但如何获得内存使用情况,他们正在访问的文件和上次修改时间的文件。 这可能在API级别实现吗? 任何人都可以指导我如何做到这一点? 任何人都可以给我想法或build议与此有关的有用链接。

android剪贴板广播接收器

我想做一个简单的服务,(这将在后台运行),当任何用户从浏览器或短信等复制任何东西,将有一个吐司显示文本 有这个代码,当有一个电话给烤面包 public class MyPhoneReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); if (extras != null) { // this code is for to accept the telephone call String state = extras.getString(TelephonyManager.EXTRA_STATE); if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); Toast.makeText(context, phoneNumber, Toast.LENGTH_SHORT).show(); } } } } 这个代码在manifest.xml中 <action […]

BadParcelableException:解组时发生ClassNotFoundException

对于Serializable和Parcelable我很新。 我很难将这个对象的实例从应用程序传递给远程服务: public class Event implements Parcelable, Cloneable { /** Defines under what Bundle's key architecture events are stored */ public static final String BUNDLE_KEY = "ZKEvent"; /** Defines which messages are architecture's events */ public static final int MSG_WHAT = 0xDEFECABE; /** Defines a key to store map under a Bundle to put into […]

不允许绑定到服务意图

我写了一个获取天气的android服务,AndroidManifest.xml是: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.weather" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <service android:name=".WeatherService" android:exported="true" > </service> </application> </manifest> 现在,我想让另一个apk来启动这个服务: Intent service = new Intent(); service.setClassName("com.my.weather", "com.my.weather.WeatherService"); context.bindService(service, weatherServiceConnection, Context.BIND_AUTO_CREATE); 我得到了错误信息: E/AndroidRuntime(14068): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.test/com.my.test.MainActivity}: java.lang.SecurityException: Not allowed to bind to service Intent { […]

如何创build一个始终运行的后台服务?

我的问题是如何创build一个始终运行的后台服务。 只要应用程序正在运行,我创build了一个在后台运行的IntentService。 但是,当应用程序被杀害,服务也不见了。 我想创build的是创build一个后台服务,总是运行和张贴通知。 (类似于WhatsApp,Facebook或任何其他类似的应用程序。) 当通知被点击时,它也应该启动应用程序。 我该怎么做?

在Android中:如何从一个服务调用Activity的函数?

我有一个由A开始的Activity(A)和Service(S),像这样: Intent i = new Intent(); i.putExtra("updateInterval", 10); i.setClassName("com.blah", "com.blah.S"); startService(i); A中有一个这样的函数: public void someInfoArrived(Info i){…} 现在我想从S内部调用A.someInfoArrived(i)。Intent.putExtra没有可以传递Object引用等的版本…请帮忙! PS:反过来(新的信息投票S)不是我所需要的。 我发现有关如何做到这一点的足够的信息。

如何在Android中设置IntentService的优先级

我想知道是否有可能像使用Thread一样设置IntentService的优先级。 到目前为止我还没有find任何东西。

Android的图像上传:使用活动或服务?

目前我使用一个活动上传图片到网上,我使用AsyncTask,一切都很好。 我目前使用一个活动来实现这一点,基本上,活动允许用户input一些细节,拍照然后提交,显示一个进度对话框,直到收到一个响应。 在E或G连接时,整个过程可能相当长(超过一分钟)。 它不可能完成活动,并返回到以前的活动(这是我想要的),直到收到答复。 我有什么select。 目前,如果我按主页button的过程中工作正常,并继续上传,应用程序可以最小化可编程性? 。 我发现这种方法存在很多问题,例如,如果活动closures或发生错误。 我能想到的唯一方法是将实际的上传代码移动到服务中,使用活动收集信息并允许活动为每个上传启动一项新服务? 然后我可以使用NotificationManager通知用户成功或失败,并处理服务中的重试。 我注意到,从画廊分享到Facebook的图像时,活动立即closures,用户通过通知收到反馈。 我假设这种方法使用服务将图像上传到Facebook? 任何帮助/build议将不胜感激。 问候

当完全onServiceConnected有界服务将被调用?

我试图绑定另一个服务,如这样的服务: public class ServiceA extends Service { private ServiceB mDataService; private boolean mIsBound; @Override public void onCreate(){ super.onCreate(); doBindService(); /* … */ } @Override public void onStart(final Intent intent, final int startId){ /*…*/ } private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { mDataService = ((ServiceB.LocalBinder)service).getService(); } public void onServiceDisconnected(ComponentName […]