修复窗口切换问题

This commit is contained in:
ZhanGSKen 2025-03-28 13:45:45 +08:00
parent ce05d69132
commit b3075f778d
9 changed files with 67 additions and 32 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Mar 28 05:25:32 GMT 2025
#Fri Mar 28 05:43:39 GMT 2025
stageCount=1
libraryProject=libappbase
baseVersion=15.1
publishVersion=15.1.0
buildCount=145
buildCount=152
baseBetaVersion=15.1.1

View File

@ -4,7 +4,6 @@ import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
@ -23,8 +22,9 @@ import cc.winboll.studio.libappbase.sos.SOS;
import cc.winboll.studio.libappbase.utils.ToastUtils;
import cc.winboll.studio.libappbase.widgets.StatusWidget;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.winboll.WinBollActivityBase;
public class MainActivity extends AppCompatActivity implements IWinBollActivity {
public class MainActivity extends WinBollActivityBase implements IWinBollActivity {
public static final String TAG = "MainActivity";

View File

@ -7,7 +7,6 @@ package cc.winboll.studio.appbase.activities;
*/
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
@ -15,9 +14,9 @@ import android.view.View;
import cc.winboll.studio.appbase.R;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.winboll.WinBollActivityManager;
import cc.winboll.studio.libappbase.winboll.WinBollActivityBase;
public class New2Activity extends AppCompatActivity implements IWinBollActivity {
public class New2Activity extends WinBollActivityBase implements IWinBollActivity {
public static final String TAG = "New2Activity";

View File

@ -6,7 +6,6 @@ package cc.winboll.studio.appbase.activities;
*/
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
@ -14,9 +13,9 @@ import android.view.View;
import cc.winboll.studio.appbase.R;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.winboll.WinBollActivityManager;
import cc.winboll.studio.libappbase.winboll.WinBollActivityBase;
public class NewActivity extends AppCompatActivity implements IWinBollActivity {
public class NewActivity extends WinBollActivityBase implements IWinBollActivity {
public static final String TAG = "NewActivity";

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Mar 28 05:25:32 GMT 2025
#Fri Mar 28 05:43:39 GMT 2025
stageCount=1
libraryProject=libappbase
baseVersion=15.1
publishVersion=15.1.0
buildCount=145
buildCount=152
baseBetaVersion=15.1.1

View File

@ -9,6 +9,9 @@
<!-- 发送持久广播 -->
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
<!-- 对正在运行的应用重新排序 -->
<uses-permission android:name="android.permission.REORDER_TASKS"/>
<application>
<activity
@ -43,7 +46,8 @@
android:name=".services.TestService"
android:exported="true"/>
<receiver android:name=".receiver.MyBroadcastReceiver"
<receiver
android:name=".receiver.MyBroadcastReceiver"
android:exported="true">
<intent-filter>
@ -86,7 +90,8 @@
<service android:name="cc.winboll.studio.libappbase.sos.SOSCenter"/>
<receiver android:name="cc.winboll.studio.libappbase.sos.SOSCenterServiceReceiver"
<receiver
android:name="cc.winboll.studio.libappbase.sos.SOSCenterServiceReceiver"
android:exported="true">
<intent-filter>
@ -99,4 +104,4 @@
</application>
</manifest>
</manifest>

View File

@ -73,11 +73,10 @@ public class GlobalApplication extends Application {
setIsDebuging(appBaseModel.isDebuging());
}
// WinBollActivityManager.getInstance(_GlobalApplication);
// WinBollActivityManager.getInstance(_GlobalApplication).setWinBollUI_TYPE(WinBollActivityManager.WinBollUI_TYPE.Service);
// // 注册回调
// mMyActivityLifecycleCallbacks = new MyActivityLifecycleCallbacks();
// registerActivityLifecycleCallbacks(mMyActivityLifecycleCallbacks);
getWinBollActivityManager().setWinBollUI_TYPE(WinBollActivityManager.WinBollUI_TYPE.Service);
// 注册窗口回调监听
mMyActivityLifecycleCallbacks = new MyActivityLifecycleCallbacks();
registerActivityLifecycleCallbacks(mMyActivityLifecycleCallbacks);
}

View File

@ -8,24 +8,17 @@ import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import android.os.Bundle;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.utils.ToastUtils;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.utils.ToastUtils;
public class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
public static final String TAG = "MyActivityLifecycleCallbacks";
public String mInfo = "";
public MyActivityLifecycleCallbacks() {
}
WinBollActivityManager getWinBollActivityManager() {
return WinBollActivityManager.getInstance(GlobalApplication.getInstance());
}
void createActivityeInfo(Activity activity) {
@ -64,7 +57,6 @@ public class MyActivityLifecycleCallbacks implements Application.ActivityLifecyc
//System.out.println(activity.getLocalClassName() + " was created");
LogUtils.d(TAG, activity.getLocalClassName() + " was created");
createActivityeInfo(activity);
getWinBollActivityManager().add((IWinBollActivity)activity);
}
@Override
@ -102,6 +94,5 @@ public class MyActivityLifecycleCallbacks implements Application.ActivityLifecyc
public void onActivityDestroyed(Activity activity) {
//System.out.println(activity.getLocalClassName() + " was destroyed");
LogUtils.d(TAG, activity.getLocalClassName() + " was destroyed");
getWinBollActivityManager().registeRemove((IWinBollActivity)activity);
}
}

View File

@ -0,0 +1,42 @@
package cc.winboll.studio.libappbase.winboll;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/03/28 13:35:28
* @Describe WinBoll应用窗口基类
*/
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import cc.winboll.studio.libappbase.GlobalApplication;
public class WinBollActivityBase extends AppCompatActivity implements IWinBollActivity {
public static final String TAG = "WinBollActivityBase";
@Override
public Activity getActivity() {
return this;
}
@Override
public String getTag() {
return TAG;
}
WinBollActivityManager getWinBollActivityManager() {
return WinBollActivityManager.getInstance(GlobalApplication.getInstance());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWinBollActivityManager().add(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
getWinBollActivityManager().registeRemove(this);
}
}