This commit is contained in:
wangcongtao
2020-03-16 15:28:11 +08:00
parent 2835fb8735
commit 931ca69902
8 changed files with 73 additions and 22 deletions

View File

@@ -2,6 +2,7 @@ package com.mogo.module.service;
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -9,10 +10,8 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.os.Trace;
import android.text.TextUtils;
import android.util.Log;
import android.view.MotionEvent;
import androidx.annotation.NonNull;
@@ -566,7 +565,6 @@ public class MogoServices implements IMogoMapListener,
mLastAutoRefreshLocation = point;
notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
}
}
/**
@@ -754,12 +752,14 @@ public class MogoServices implements IMogoMapListener,
try {
JSONObject jsonObject = new JSONObject( data );
String card = jsonObject.getString( "card" );
if ( TextUtils.equals( "多媒体", card ) ) {
if ( TextUtils.equals( "多媒体卡片", card ) ) {
switchCard2( ServiceConst.CARD_TYPE_SHARE_MUSIC );
} else if ( TextUtils.equals( "探路", card ) ) {
} else if ( TextUtils.equals( "探路卡片", card ) ) {
switchCard2( ServiceConst.CARD_TYPE_ROAD_CONDITION );
} else if ( TextUtils.equals( "在线车辆", card ) ) {
} else if ( TextUtils.equals( "在线车辆卡片", card ) ) {
switchCard2( ServiceConst.CARD_TYPE_USER_DATA );
} else if ( TextUtils.equals( "新鲜事卡片", card ) ) {
switchCard2( ServiceConst.CARD_TYPE_NOVELTY );
}
} catch ( JSONException e ) {
e.printStackTrace();
@@ -795,7 +795,7 @@ public class MogoServices implements IMogoMapListener,
* @param card
*/
private void switchCard2( String card ) {
if ( isBackground( mContext ) ) {
if ( isApplicationBroughtToBackground( mContext ) ) {
mLauncher.backToLauncher( mContext );
UiThreadHandler.postDelayed( () -> {
if ( mStatusManager.isADASShow() ) {
@@ -812,16 +812,13 @@ public class MogoServices implements IMogoMapListener,
}
}
private boolean isBackground( Context context ) {
ActivityManager activityManager = ( ActivityManager ) context.getSystemService( Context.ACTIVITY_SERVICE );
List< ActivityManager.RunningAppProcessInfo > appProcesses = activityManager.getRunningAppProcesses();
for ( ActivityManager.RunningAppProcessInfo appProcess : appProcesses ) {
if ( appProcess.processName.equals( context.getPackageName() ) ) {
if ( appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND ) {
return true;
} else {
return false;
}
private boolean isApplicationBroughtToBackground( final Context context ) {
ActivityManager am = ( ActivityManager ) context.getSystemService( Context.ACTIVITY_SERVICE );
List< ActivityManager.RunningTaskInfo > tasks = am.getRunningTasks( 1 );
if ( !tasks.isEmpty() ) {
ComponentName topActivity = tasks.get( 0 ).topActivity;
if ( !topActivity.getPackageName().equals( context.getPackageName() ) ) {
return true;
}
}
return false;

View File

@@ -128,7 +128,7 @@ public class ServiceConst {
};
/**
* 查看多媒体卡片、探路卡片
* 查看多媒体卡片、探路卡片、在线车辆、首页、新鲜事
*/
public static final String COMMAND_SWITCH_CARD = "com.zhidao.desk.switchCard";