草庐IT

被另一个 fragment 覆盖的 Android fragment 仍然显示而不是 onPause

在我的应用程序中,我在MainActivity中捕捉到onBackPressed并向fragment发送广播。每个fragment中的接收器打开或关闭@OverridepublicvoidonPause(){super.onPause();getActivity().unregisterReceiver(receiver);Bundleargs=getArguments();inttab=args.getInt("Tab");Log.d(log,String.format("Tab1Fragment%donPause",tab));}@OverridepublicvoidonResum

android - onPause() 中的 startActivity 在打开新应用后无法正常工作

当我的第一个Activity暂停时,我开始第二个Activity。FirstActivity.java@OverridepublicvoidonPause(){super.onPause();startActivity(newIntent(this,SecondActivity.class));}当我按下主屏幕按钮时,SecondActivity将启动但有延迟。在此延迟中,有足够的时间打开新应用程序(例如Messenger)。但是,当我打开一个新的应用程序时,SecondActivity将不再启动(它甚至不会调用SecondActivity的onCreate方法)。即使我打开了一个新的

android - OnResume 之后立即调用 OnPause

编辑*在Android设备上测试时出现此问题。在emultor上测试时不会出现此问题。我正在开始一项新Activity,我看到在调用onResume之后立即调用了onPause。如果我查看日志,它会在onResume之后进入空闲状态。因此在调用onResume后立即导致onPause。调用方Activity-通过Intent在onClick上调用MainActivity。publicclassTestActivityextendsAppCompatActivityimplementsView.OnClickListener{StringTAG="acr";ButtontestBtn;@

java - 调用 onPause 时保存大量数据?

对于我的应用程序,我有大约15Mb(可以通过一些处理能力压缩到大约5Mb)的音频+视频+图像数据需要保存到磁盘。例如,我需要在用户被电话打断(因为Activity可能会在此之后被终止)以及用户离开应用程序时保存它。如果我不压缩它,我可以在大约10秒内将数据保存到SD卡,如果我压缩它,大约20秒,我希望它被压缩。在调用onPause时我有哪些选项可以保存我的数据,以便我可以确定数据已保存?根据一些基本实验,如果onPause在5秒后仍未完成,我的Activity就会被终止。我的一些想法:在onPause中启动一个新线程并在其中保存数据。这似乎工作正常,但似乎是我不应该做的事情。启动服务,

android - AdMob - 禁用请求 onPause()

我读过几篇关于在隐藏/最小化应用程序时尝试停止adView的文章,但这会使我的应用程序崩溃。这是我的代码,adView.LoadAd...和​​adView.stopLoading都会在启动时使应用程序崩溃。publicclassMainActivityextendsActivityimplementsOnItemSelectedListener{@OverrideprotectedvoidonResume(){super.onResume();if(AdViewStarted=true){adView.loadAd(newAdRequest());}}@Overrideprotect

android - Android Oreo 8.0 中 onPause 之前调用的新 Fragment 的 onResume

我在使用androidOreo时遇到了麻烦。我的MainActivity有4个fragment,只要用户按下选项卡,它们就会相互替换。现在的问题是,我在onPause的单例实例中保存了一个值。每当用户按下下一个选项卡时,该fragment的onResume在onPause之前被调用,因此我无法从单例中正确检索值。 最佳答案 请将setReorderingAllowed设置为false以获得正常的fragment生命周期。if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.O){fragme

Android 检测导致 onPause 的原因

我不确定是否有更好的方法来执行此操作,但我想以某种方式检测导致应用程序暂停的原因。在一项显示跟踪map的特定Activity中,如果用户单击后退或主页,我想停止GPS,但如果屏幕熄灭,我想保持GPS运行我还使用了唤醒锁,因此它不会休眠(是的,我知道这可能应该在服务中,但那将是v2我没时间了!)当按下后退按钮时,我将覆盖@OverridepublicvoidonBackPressed(){wl.release();this.mMyLocationOverlay.disableMyLocation();this.mMyLocationOverlay.disableCompass();if(

android - 为什么Camera需要在onPause()方法而不是Activity的onstop()方法中释放?

我似乎遗漏了一些东西,因为我不明白为什么在Android文档中(AndroidCameradoc.link)建议在onPause()Activity回调中释放Camera对象(以及MediaRecorder)?到那时Activity可能仍然可见并且Camera可能正在运行预览那么为什么当Activity已经隐藏时Camera对象将在onPause()而不是onStop()中释放?我知道MediaRecorder对象可以在onPause()中停止,但Camera本身对我来说没有意义。我在这里错过了什么?Android文档中的一段代码如下(位于“释放相机”标题下):@Overridepro

Android onResume() 在 onPause() 之前调用?

我对AndroidActivity的生命周期有一个很大的疑问。在正常的英语术语中,一旦你完成了暂停,Resume就会完成。但是在Activity的生命周期中,OnResume甚至在第一次onPause之前就被调用了.这背后的原因是什么?谁能告诉我为什么它的结构是这样的?谢谢。 最佳答案 在一般英语术语中,Resume的意思是暂停后再次开始交互,butinAndroidterms,itmeanswhenanActivityisattheforegroundandwhentheuserstartsgivinginputtotheacti

android - GoogleMaps - 调用 onPause()

我想知道:当使用GoogleMapsv2时,mapView应该调用mapView.onPause()在onPause()中。super.onPause()应该在mapView.onPause()之前调用,还是之后调用?是不是应该这样:@OverridepublicvoidonPause(){super.onPause();mapView.onPause();}或者像这样:@OverridepublicvoidonPause(){mapView.onPause();super.onPause();}?两者似乎都有效(编译器和运行应用程序时都没有错误),但正确的用法是什么?