- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试获取 Activity 生命周期的日志。我在这里遇到了一些奇怪的问题。
当我将 Activity 的主题用作 android:theme="@style/Theme.AppCompat.Light.NoActionBar
并转到下一个 Activity 时。onPuase()
和 onStop()
被调用。
但是,当我使用 android:theme="@style/AppTheme
时,onPause()
会被调用,但是 onStop()
会被调用不被调用。
是否有基于 Activity 主题的 Activity ?
您可以引用下面的代码。
样式.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowIsTranslucent">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
list .xml
<activity
android:name=".activity.TestActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.TestTwoActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme" />
测试 Activity
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Logger.debug("TestActivity onCreate");
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(TestActivity.this, TestTwoActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onStart() {
Logger.debug("TestActivity onStart");
super.onStart();
}
@Override
protected void onRestart() {
Logger.debug("TestActivity onRestart");
super.onRestart();
}
@Override
protected void onResume() {
Logger.debug("TestActivity onResume");
super.onResume();
}
@Override
protected void onPause() {
Logger.debug("TestActivity onPause");
super.onPause();
}
@Override
protected void onStop() {
Logger.debug("TestActivity onStop");
super.onStop();
}
@Override
protected void onDestroy() {
Logger.debug("TestActivity onDestroy");
super.onDestroy();
}
activity_test
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical">
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@color/bg_blue"
android:text="button" />
`activity_test_two
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@color/bg_blue"
android:text="button" />
日志:
TestActivity onCreate
TestActivity onStart
TestActivity onResume
activity Button Click
TestActivity onPause
TestTwoActivity onCreate
TestTwoActivity onStart
TestTwoActivity onResume
Backpress
TestTwoActivity onPause
TestActivity onResume
TestTwoActivity onStop
TestTwoActivity onDestroy
最佳答案
您的第二个 Activity 是半透明的 - 这意味着第一个 Activity 仍然可见,因此不会调用 onStop()
。这与显示对话框非常相似 - onPause()
被调用是因为 Activity 不在前台,但用户仍然可见 - 所以没有 onStop()
调用
关于android - onStop() 没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42504327/
我正在阅读有关 Activity 生命周期方法的文档 here 这是文档中表格的快照。 onStop() 方法在此处被标记为可终止。但是,尚不清楚 Activity 何时可以终止 - 在基础 Acti
我想实现某种监视功能,该功能可以告诉我我的应用何时崩溃或停止或暂停。因此,我有3个 Activity ,到目前为止我已经实现了,以便在mainActivity中调用onPause时,它会向我发送一封邮
我有一个应用程序,其 onStop() 方法中有一个 while 循环。在日志中我发现了这一行: 07-06 08:35:43.616 W/ActivityManager( 837): Activi
是否可以让 SFML 1.6 自行处理音乐结尾?目前我有这个: //in music.cpp music.Play() //in main.cpp //on every frame check for
简介:我做了一个淡出/淡入淡出所有 View 的不透明度。我想在切换 Activity 之间制作动画。我现在必须将淡入/淡出添加到每个 Activity 中的每个 onStop/onResume。 问
我想制作一个无法被杀死或破坏的应用程序。我试过了 @Override public void onStop() { super.onPause(); } 但这不起作用,应用程序仍然被杀死。那
我的应用程序从服务接收消息,它必须对其执行一些处理。在此之前,它必须连接到另一个服务 (GoogleApiClient)。发生的情况是应用程序调用 onStop 之前 GoogleApiClient
我尝试使用onStop()方法,但调用时代码并未执行。 我正在使用 TabHost 从一个 Activity 移动到另一个 Activity 。 当我移动到另一个选项卡时,此代码应该可以工作。 @Ov
我正在尝试获取 Activity 生命周期的日志。我在这里遇到了一些奇怪的问题。 当我将 Activity 的主题用作 android:theme="@style/Theme.AppCompat.Li
我有一个媒体播放器,它会在用户关闭应用程序时停止播放,方法是按下主页按钮、使用后退按钮或只是打开另一个应用程序。为获得此行为,我向我的主要 Activity 添加了一个 onStop(),它告诉我的
我发现我的 Activity onStop() 方法将在不到 10 秒的延迟后被调用。我以前从未见过这种行为。 Note :- The activity is singleTop and it sta
我在类似的时钟应用程序中使用了这个示例代码: http://about-android.blogspot.in/2010/04/create-apps-to-show-digital-time-in_
目前,我将平板电脑连接到其他设备(通过蓝牙)。连接成功,但如果 Activity 暂停并停止,例如按下主屏幕时,它肯定会断开连接。我总是可以在 OnStop() 或其他东西中重新连接,但我想在整个过程
为什么程序在“String temp_str = string_array[1]”处崩溃?Logcat:java.lang.NullPointerException:尝试读取空数组。 public c
我终于完成了应用程序中的所有内容,但现在每当我使用除“主页”按钮之外的任何操作退出它时,它都会闪烁强制关闭屏幕,然后它就会消失。我知道这没什么大不了的,但我真的希望这种情况停止发生,我终于得到了一个
我使用 Azure 云辅助角色来处理来自队列的传入任务。每个任务的处理最多可能需要几个小时,每个工作角色最多可以同时处理 N 个任务。基本上,它正在工作。 现在,您可以阅读documentation有
在我的简单 android 应用程序中,我有 2 个 activities。在第一个 activity(主要 Activity )中,我覆盖了 ON STOP 方法。但是当我去做第二个 activit
如果我有一个名为 onStop 的方法,它会调用 super.onStop();。这个方法什么时候运行? 在我的主要 Activity 中,我启动了另一个 Activity ,如下所示:startAc
在我的主要 Activity 中,在 onStop 下,我设置了 myVar = true。在 onResume 中,我检查 myVar = true 并执行某些操作。 如果您在我的主要 Activi
我有一个 Activity,我想在不调用 onDestroy() 的情况下关闭它。所以我使用 onStop(); 看起来像 @Override public void onStop(){
我是一名优秀的程序员,十分优秀!