Browse Source

回滚到早上版本

FANGLH 9 years ago
parent
commit
a950c54543

+ 1 - 1
WeiChat/build.gradle

@@ -13,7 +13,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('C:/Users/Arison/Desktop/applicationsignname[20150409]')
+            storeFile file('C:/Users/FANGlh/Desktop/UUAPP/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 5 - 2
WeiChat/src/main/AndroidManifest.xml

@@ -116,6 +116,7 @@
         android:hardwareAccelerated="false"
         android:icon="@drawable/uuu"
         android:label="@string/app_name"
+        android:persistent="true"
         android:largeHeap="true"
         android:theme="@style/AppTheme">
         <meta-data
@@ -802,8 +803,8 @@
         <service
             android:name="basepedo.service.StepService"
             android:process="com.base.basepedo.step"
-            android:priority="1000">
-            <intent-filter >
+            >
+            <intent-filter android:priority="1000">
                 <!-- 系统启动完成后会调用-->
                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
                 <action android:name="android.intent.action.DATE_CHANGED"/>
@@ -817,6 +818,8 @@
         <receiver android:name="basepedo.service.BootCompleteReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
+                <action android:name="android.intent.action.USER_PRESENT" />
+                <action android:name="uu.step.destory"/>
             </intent-filter>
         </receiver>
     </application>

+ 14 - 3
WeiChat/src/main/java/basepedo/service/BootCompleteReceiver.java

@@ -4,15 +4,26 @@ import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.ui.MainActivity;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
+
 /**
  * 开机完成广播
- *
  * Created by FANGlh on 2016/12/30.
  */
 public class BootCompleteReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
-        Intent i = new Intent(context, StepService.class);
-        context.startService(i);
+        if (PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.UU_STEP) == 1 || intent.getAction().equals("uu.step.destory")){
+            Intent i = new Intent(context, StepService.class);
+            context.startService(i);
+        }
+        if (intent.getAction().equals("uu.step.destory")){
+            Intent i = new Intent(context, StepService.class);
+            context.startService(i);
+        }
+
     }
+
 }

+ 37 - 7
WeiChat/src/main/java/basepedo/service/StepService.java

@@ -1,6 +1,7 @@
 package basepedo.service;
 
 import android.annotation.TargetApi;
+import android.app.ActivityManager;
 import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
@@ -25,7 +26,10 @@ import android.os.RemoteException;
 import android.support.v7.app.NotificationCompat;
 import android.util.Log;
 
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.MainActivity;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -59,7 +63,7 @@ public class StepService extends Service implements SensorEventListener {
     //测试
     private static int i = 0;
     private String DB_NAME = "basepedo";
-
+    private String uustep_service_name = "basepedo.service.StepService";
     private static class MessenerHandler extends Handler {
         @Override
         public void handleMessage(Message msg) {
@@ -102,9 +106,9 @@ public class StepService extends Service implements SensorEventListener {
     @Override
     public int onStartCommand(Intent intent, int flags, int startId) {
         initTodayData();
-
         updateNotification("今日步数:" + StepDcretor.CURRENT_SETP + " 步");
-        return START_STICKY;
+        flags = START_STICKY;
+        return super.onStartCommand(intent,flags,startId);
     }
     private String getTodayDate() {
         Date date = new Date(System.currentTimeMillis());
@@ -192,7 +196,7 @@ public class StepService extends Service implements SensorEventListener {
     private void updateNotification(String content) {
         builder = new NotificationCompat.Builder(this);
         builder.setPriority(Notification.PRIORITY_MIN);
-        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
+        PendingIntent contentIntent = PendingIntent.getActivity(this, 100,
                 new Intent(this, MyPedometerActivity.class), 0);
         builder.setContentIntent(contentIntent);
         builder.setSmallIcon(R.drawable.uuu);
@@ -205,7 +209,12 @@ public class StepService extends Service implements SensorEventListener {
 
         startForeground(0, notification);
         nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
-        nm.notify(R.string.app_name, notification);
+        if (PreferenceUtils.getInt(this,MyPedometerActivity.UU_STEP_NOTICE) == 0){
+            nm.notify(R.string.app_name, notification);
+        }else if (PreferenceUtils.getInt(this,MyPedometerActivity.UU_STEP_NOTICE) == 1){
+            nm.cancelAll();
+        }
+
     }
 
     @Override
@@ -320,8 +329,12 @@ public class StepService extends Service implements SensorEventListener {
         stopForeground(true);
         DbUtils.closeDb();
         unregisterReceiver(mBatInfoReceiver);
-        Intent intent = new Intent(this, StepService.class);
-        startService(intent);
+        if (! isServiceRunning(uustep_service_name) && PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.UU_STEP)==1){
+            Intent intent = new Intent(this, StepService.class);
+            startService(intent);
+        }
+        Intent intent = new Intent("uu.step.destory");
+        sendBroadcast(intent);
         super.onDestroy();
     }
 
@@ -363,4 +376,21 @@ public class StepService extends Service implements SensorEventListener {
         }
         return (mWakeLock);
     }
+    private boolean isServiceRunning(String servicename) { //判断UU运动服务是否已经运行
+        ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
+        for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
+            if (servicename.equals(service.service.getClassName())) {
+                return true;
+            }
+        }
+        return false;
+    }
+    private BroadcastReceiver updateReceiver = new BroadcastReceiver(){
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (! isServiceRunning(uustep_service_name) && PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.UU_STEP) == 1){
+                startService(new Intent(context,StepService.class));
+            }
+        }
+    };
 }

+ 13 - 0
WeiChat/src/main/java/basepedo/ui/MyPedometerActivity.java

@@ -1,6 +1,7 @@
 package basepedo.ui;
 
 import android.app.ActivityManager;
+import android.app.NotificationManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -15,9 +16,12 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.TextView;
 
+import com.baidu.android.pushservice.PushManager;
+import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.me.SettingActivity;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
 
 import basepedo.config.Constant;
 import basepedo.service.StepService;
@@ -33,6 +37,8 @@ public class MyPedometerActivity extends BaseActivity implements Handler.Callbac
     private Messenger mGetReplyMessenger = new Messenger(new Handler(this));
     private Handler delayHandler;
     private String uustep_service_name = "basepedo.service.StepService";
+    public static String UU_STEP_NOTICE = "UUSTEPNOTICE";
+
     ServiceConnection conn = new ServiceConnection() {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
@@ -92,11 +98,16 @@ public class MyPedometerActivity extends BaseActivity implements Handler.Callbac
         setContentView(R.layout.activity_pedometer);
         init();
 
+        PreferenceUtils.putInt(MyPedometerActivity.UU_STEP_NOTICE, 1);
+        PushManager.resumeWork(MyApplication.getInstance());
     }
     private void init() {
         text_step = (TextView) findViewById(R.id.text_step);
         delayHandler = new Handler(this);
         setupService();
+
+        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
+        manager.cancelAll();
     }
 
 
@@ -120,6 +131,7 @@ public class MyPedometerActivity extends BaseActivity implements Handler.Callbac
         if (item.getItemId() == android.R.id.home) {
             if (isServiceRunning(uustep_service_name)){
                 unbindService(conn);
+                startService(new Intent(mContext,StepService.class));
             }
             startActivity(new Intent(mContext, SettingActivity.class));
         }
@@ -131,6 +143,7 @@ public class MyPedometerActivity extends BaseActivity implements Handler.Callbac
 
         if (isServiceRunning(uustep_service_name)){
             unbindService(conn);
+            startService(new Intent(mContext, StepService.class));
         }
         startActivity(new Intent(mContext, SettingActivity.class));
         super.onBackPressed();

+ 5 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -70,6 +70,7 @@ import java.util.List;
 
 import basepedo.config.Constant;
 import basepedo.service.StepService;
+import basepedo.ui.MyPedometerActivity;
 
 
 /**
@@ -500,6 +501,10 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
 
         //开启APP后自动开启UU运动服务,这里为了耗电占内存等情况暂时不设置开启APP自动开启UU运动
 //        openUUStepService();
+
+
+        PreferenceUtils.putInt(MyPedometerActivity.UU_STEP_NOTICE, 0);
+        PushManager.resumeWork(MyApplication.getInstance());
     }
     private Messenger messenger;
     private Messenger mGetReplyMessenger = new Messenger(new Handler());

+ 8 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/attendance/AutoErpService.java

@@ -17,6 +17,7 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.db.dao.ErrorMagDao;
 import com.xzjmyk.pm.activity.db.dao.MissionDao;
 import com.xzjmyk.pm.activity.db.dao.WorkModelDao;
+import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.WorkActivity;
 import com.xzjmyk.pm.activity.ui.erp.entity.ErrorEntity;
 import com.xzjmyk.pm.activity.ui.erp.model.MissionModel;
@@ -32,6 +33,8 @@ import com.xzjmyk.pm.activity.util.TimeUtils;
 
 import java.util.List;
 
+import basepedo.service.StepService;
+
 /**
  * 自动Erp服务,开启线程
  */
@@ -134,6 +137,11 @@ public class AutoErpService extends Service {
             } catch (Exception e) {
                 if (e != null) log("BroadcastReceiver Exception=" + e.getMessage());
             }
+
+            if (PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.UU_STEP) == 1 && intent.getAction().equals("uu.step.destory")){
+                Intent i = new Intent(context, StepService.class);
+                context.startService(i);
+            }
         }
     };
 

+ 1 - 1
WeiChat/src/main/res/layout/activity_setting.xml

@@ -56,7 +56,7 @@
                 android:id="@+id/uu_step_rl"
                 style="@style/IMTbleLine1"
                 android:background="@drawable/selector_me_menu_item_bg"
-                android:visibility="gone">
+                android:visibility="visible">
 
                 <TextView
                     android:id="@+id/uu_step_text"