Articles of android intentservice

/system/lib/libart.so中的本机崩溃

我在Play商店有一个应用程序,它有一个IntentService ,可以在应用程序启动时执行一些工作,并且它会导致Android 5.0上的本机崩溃。 此服务仅扫描资产文件夹以进行应用程序更新。 具体来说,这次崩溃似乎发生在升级到Lollipop之后的三星S5上,但我不知道它是否与该设备严格相关,因为它是一个意大利应用程序,在这里仍然是唯一广泛分散(即我知道)获得棒棒糖的设备。 但是,我在模拟器上尝试了它,使用Android 5的股票,它运行正常。 我正在附加堆栈跟踪,任何有关如何继续的帮助将不胜感激…有本机问题,我不知道在哪里放我的手。 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Build fingerprint: ‘samsung/kltexx/klte:5.0/LRX21T/G900FXXU1BNL9:user/release-keys’ Revision: ’14’ ABI: ‘arm’ pid: 24219, tid: 24259, name: IntentService[I >>> it.mydomain.myapp <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 r0 afcb8c00 r1 001000e6 r2 af201428 […]

默认情况下,在“Asus auto start manager”中设置“允许”权限

我有一个需要在后台运行的应用程序,所以我正在使用WakeFullService。 但是在Asus Zenfone中它没有用,因为Auto Start manager不允许应用程序运行。 我的期望是: 在我们的应用安装期间或应用开放时在自动启动管理器中设置“允许权限”。 华硕自动启动管理器是否有任何API可以帮助我检查我的应用程序的权限状态,以便我可以通过正常文本警报通知用户打开权限。

IntentService中的数据库操作导致应用程序停止,变得无响应并给出ANR

我在警报管理器中使用IntentService每15秒触发一次。 我必须不断向服务器发送大量数据并在后台接收大量数据。 我必须遵循以下流程: 我正在通过查询从数据库中读取数据。 然后在Json中通过POJO架构转换它。 使用Retrofit Library将此JSON请求发送到服务器。 接收数据作为回应。 如果数据库中有任何更新,则通过某些查询将此数据插入我的数据库。 有替代方法吗? 因为我正面临着ANR。 如果数据较少,则其工作正常。 但随着数据量变大,UI暂停,应用程序变得无法响应。

服务自动调用销毁活动

我遇到了Activity + Service的问题,因为我有以下数量的活动和服务。 活动内容: LoginActivity => OrderListActivity => AddOrderActivity => ConfirmOrderActivity 服务: ReceivingOrderService – 从服务器接收新数据 SendingOrderService – 将新数据发送到服务器 在某个间隔的持续时间内,来自另一个单独服务的服务呼叫。 CheckAutoSyncReceivingOrder – 调用ReceivingOrderService(间隔15分钟) CheckAutoSyncSendingOrder – 调用SendingOrderService(Interval 3Mins) CheckAutoSyncReceivingOrder: public class CheckAutoSyncReceivingOrder extends Service { Timer timer; @Override public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub return null; } @Override public void onStart(Intent intent, int […]

Android:intentservice,如何中止或跳过handleintent队列中的任务

我有一个调用意图服务的活动(“ApplicationActivity”)(“DownloadService”) intentService在后台下载来自互联网的文件,但我希望能够中止特定的下载……… 所以我要说我把5个文件放在队列中:文件1,2,3,4,5 意图服务开始下载数字1,然后是第二个等等…… 1)有没有办法说意图服务中止你在方法句柄事件中正在做什么(在这种情况下下载文件) 1)并开始下载下一个? 2)是否可以从队列中删除元素,例如在下载文件1时,从队列中删除文件4,以便在数字3之后直接进入5? 不久,我需要一种方法来与队列通信来执行这两个简单的操作,但我没有在互联网上find任何有用的东西:( TNX

地理围栏:通过后台服务发送时HTTP请求失败。 给出UnknownHostException

我在android应用程序中实现了Geofence。 我按照这个链接在app中实现了’Geofence’。 我正在使用’Retrofit’库来调用’HTTP’请求。 应用具有以下权限: 这是我的’IntentService’代码: public class GeofenceService extends IntentService { private static final String TAG = GeofenceService.class.getName(); public static final int GEOFENCE_NOTIFICATION_ID = 0; public GeofenceService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { // Retrieve the Geofencing intent GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent); createLoggerFile(); // Handling errors if ( geofencingEvent.hasError() ) { String […]

在IntentService和AsyncTask(Android)之间使用共享代码时,Realm`从错误的线程访问`错误

我有一些代码可以下载“当前”对象的JSON。 但是当警报响起时(当应用程序没有运行任何UI时),以及应用程序运行时的AsyncTask,需要由IntentService调用相同的代码。 但是,我收到一个错误,说Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created. Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created. 但是,我不明白这个堆栈跟踪是如何或为什么在不同的线程上。 通过复制所有共享代码并将其直接粘贴到DownloadDealService的onHandleIntent方法中,我能够摆脱错误,但它非常草率,我正在寻找一个不需要复制代码的更好的解决方案。 如何在不重复代码的情况下摆脱此错误? 谢谢。 public class DownloadDealService extends IntentService { … @Override protected void onHandleIntent(Intent intent) { Current todaysCurrent […]

Android Service扩展了ResultReceiver for IntentService,如何实现CREATOR?

我的应用程序依赖于在后台与外部硬件保持同步的Service 。 因为服务在主线程上运行,所以它使用IntentService异步执行任何繁重的工作。 以下是解释控制流的代码的最小化示例: public class MyService extends Service { private final Handler handler = new Handler(); void someMethodDoesCallBarAsynchronously(){ Intent i = new Intent(this, MyIntentService.class); i.putAction(ACTION_FOO); i.putExtra(EXTRA_RECEIVER, new MyResultReceiver(handler)); startService(toGetScannerStatus); } void receivedFooResult(String bar){ //… } public class MyResultReceiver extends ResultReceiver{ public MyResultReceiver(Handler handler){ super(handler); } @Override protected void onReceiveResult(int resultCode, Bundle resultData) { super.onReceiveResult(resultCode, […]

即使应用程序关闭,如何保持IntentService运行?

在我的Android应用程序中,我通过调用从Activity中启动IntentService startService(new Intent(this, MyService.class)); 它就像一个魅力。 我可以在Activies之间移动,按Home键切换到其他应用程序……它仍在工作。 但如果我从最近的屏幕上删除我的应用程序,我的服务就会停止。 我怎么能避免这个? 换句话说,即使我的应用程序已从最近的应用程序关闭,如何保持我的服务运行? 我的服务代码如下: public class MyService extends IntentService { public MyService() { super(“MyService”); } @Override protected void onHandleIntent(Intent intent) { //Here I run a loop which takes some time to finish } }

Android IntentService无法实例化类; 没有空的构造函数

我有一个需要访问在线API的MainActivity类(因此使用网络资源)。 这需要我在单独的文件HttpRequestService.java创建的后台线程。 MainActivity.java: public class MainActivity extends Activity { public static final String API_KEY = “KEYKEYKEYKEYKEY”; public static final String CLIENT_ID = “IDIDIDIDIDIDID”; private final String BROADCAST_ACTION = “com.example.BROADCAST”; private final String EXTENDED_DATA_STATUS = “com.example.STATUS”; static final String LOGCAT_TAG = “TAGTAGTAGTAGTAG”; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { […]