ImServiceAutoStarter.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:2k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2008 Esmertec AG.
  3.  * Copyright (C) 2008 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.receiver;
  18. import com.android.im.service.ImServiceConstants;
  19. import android.content.Context;
  20. import android.content.Intent;
  21. import android.content.BroadcastReceiver;
  22. import android.database.Cursor;
  23. import android.provider.Im;
  24. import android.util.Log;
  25. public class ImServiceAutoStarter extends BroadcastReceiver {
  26.     static final String TAG = "ImServiceAutoStarter";
  27.     @Override
  28.     public void onReceive(Context context, Intent intent) {
  29.         // Received intent only when the system boot is completed
  30.         Log.d(TAG, "onReceiveIntent");
  31.         String selection = Im.Account.KEEP_SIGNED_IN + "=1 AND "
  32.                 + Im.Account.ACTIVE + "=1";
  33.         Cursor cursor = context.getContentResolver().query(Im.Account.CONTENT_URI,
  34.                 new String[]{Im.Account._ID}, selection, null, null);
  35.         if (cursor != null) {
  36.             if (cursor.getCount() > 0) {
  37.                 Log.d(TAG, "start service");
  38.                 Intent serviceIntent = new Intent();
  39.                 serviceIntent.setComponent(ImServiceConstants.IM_SERVICE_COMPONENT);
  40.                 serviceIntent.putExtra(ImServiceConstants.EXTRA_CHECK_AUTO_LOGIN, true);
  41.                 context.startService(serviceIntent);
  42.             }
  43.             cursor.close();
  44.         }
  45.     }
  46. }