[shuttle_p]
[eb5 双屏 主Activity 会pause]
This commit is contained in:
yangyakun
2024-01-22 15:27:04 +08:00
parent daa0318fc0
commit e033fe412f
3 changed files with 90 additions and 1 deletions

View File

@@ -1,12 +1,26 @@
package com.mogo.och.common.module.wigets.media
import android.Manifest
import android.app.ActivityOptions
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.provider.Settings
import android.view.Display
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.mogo.eagle.core.function.main.MainLauncherActivity
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.utils.RxUtils
class MediaPlayerActivity : AppCompatActivity() {
private val TAG = "MediaPlayerActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_video_player)
@@ -15,4 +29,74 @@ class MediaPlayerActivity : AppCompatActivity() {
.commitAllowingStateLoss()
BarUtils.hideStatusBarAndSticky(this.window)
}
override fun onStart() {
super.onStart()
i(SceneConstant.M_BUS_P + TAG, "onResume")
}
override fun onResume() {
super.onResume()
i(SceneConstant.M_BUS_P + TAG, "onResume")
checkPermissionSelf()
}
override fun onPause() {
super.onPause()
i(SceneConstant.M_BUS_P + TAG, "onResume")
}
override fun onStop() {
super.onStop()
i(SceneConstant.M_BUS_P + TAG, "onResume")
}
fun checkPermissionSelf(){
i(SceneConstant.M_BUS_P + TAG, "checkPermissionSelf")
val isAllGranted: Boolean = checkPermissionAllGranted(
arrayOf<String>(
Manifest.permission.RECORD_AUDIO, // Manifest.permission.CAMERA,
Manifest.permission.BLUETOOTH,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_FINE_LOCATION
)
)
if (isAllGranted&&Settings.canDrawOverlays(this)) {
restartActivity()
return
}
RxUtils.createSubscribe {
checkPermissionSelf()
}
}
fun restartActivity(){
val activityList = ActivityUtils.getActivityList()
activityList.forEach {
if (it is MainLauncherActivity) {
i(SceneConstant.M_BUS_P + TAG, "restartActivity")
val options = ActivityOptions.makeBasic()
options.launchDisplayId = Display.INVALID_DISPLAY
val intent = Intent(this, MainLauncherActivity::class.java)
startActivity(intent, options.toBundle())
}
}
}
private fun checkPermissionAllGranted(permissions: Array<String>): Boolean {
for (permission in permissions) {
if (ContextCompat.checkSelfPermission(
this,
permission
) != PackageManager.PERMISSION_GRANTED
) {
// 只要有一个权限没有被授予, 则直接返回 false
return false
}
}
return true
}
}

View File

@@ -57,7 +57,7 @@ class MediaPlayerFragment :
override fun onPause() {
super.onPause()
imageVideoRotationView.setPause()
//imageVideoRotationView.setPause()
}
override fun onResume() {

View File

@@ -59,6 +59,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
protected void onResume() {
super.onResume();
//ActivityUtils.setDefaultL(this);
CallerLogger.i(M_HMI + TAG, "onResume");
}
@Override
@@ -78,12 +79,14 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
@Override
protected void onPause() {
super.onPause();
CallerLogger.i(M_HMI + TAG, "onPause");
mIsHomeKeyDown = false;
}
@Override
protected void onStop() {
super.onStop();
CallerLogger.i(M_HMI + TAG, "onStop");
IntentManager.getInstance().unregisterIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this);
//ActivityLifecycleManager.getInstance().setAppActive(false);
}
@@ -161,6 +164,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
@Override
protected void onDestroy() {
super.onDestroy();
CallerLogger.i(M_HMI + TAG, "onDestroy");
stopCountDown();
try {
// acc off 之后会出现进程还在,但是页面被杀的情况,这个直接杀掉进程,然后让整个进程重启
@@ -182,6 +186,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
CallerLogger.i(M_HMI + TAG, "onKeyDown");
long currentTimeMillis = System.currentTimeMillis();
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (currentTimeMillis - lastKeyDownTimeMillis < 2000) {