开发者

startManagingCursor() in a service?

Is there a way to use the startManagingCursor() within a service instead of an activity, with the same results (as shown here)?

More specifically, i would like to manage a g开发者_开发知识库iven Cursor's lifecycle based on a service's lifecycle. For example, when the service is destroyed, it will automatically call deactivate() on the given Cursor. Also, when the service is created/starts again, it will call requery() method.

  • Is it feasible by using an other appropriate method implemented in the Service.class?
  • Is it feasible in some other way?
  • Or, is it pointless at all?


Is there a way to use the startManagingCursor() within a service instead of an activity, with the same results

No, sorry.

Is it feasible by using an other appropriate method implemented in the Service.class?

No.

Is it feasible in some other way?

You are welcome to write your own support code to do whatever you want. I doubt you can implement what you're seeking, though.

Or, is it pointless at all?

IMHO, yes. Having a Cursor be automatically closed when the service is destroyed is not a bad idea. However, the notion of the deactivate()/requery() makes little sense to me in a service. This is also the impossible part, in that you have no place to put the deactivated Cursor that will be picked up by some future incarnation of your service.


Its possible, you just need to Cast it to Activity

Like below ((Activity) context).startManagingCursor(cursor);

Here is the complete code

private void getUserId(Context context) {

     AdapterClass adapterClass = new AdapterClass(this,
     DatabaseDetail.TABLE_USER_REGISTRATION);
     adapterClass.Open();

     Cursor cursor = adapterClass.fetchRecords(new String[]{"USER_OID"},
     null);
     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
     ((Activity) context).startManagingCursor(cursor);
     }
     cursor.moveToFirst();

     adapterClass.close();

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜