我有一个由AlarmManager
在某个特定时间发起的活动。我想要做的是,如果用户点击停止按钮,只有当父活动处于活动状态(已在前台启动)时,活动才会转到其父活动,但如果未启动,则活动将转到其父活动。在后台启动,在最后一种情况下,subActivity
将完成。
我在清单文件中完成了这个:
<activity
android:name=".subActivity"
android:parentActivityName=".MainActivity" />
<activity
我使用了一个技巧here检查MainActivity
是否有效,但似乎不起作用:
class MainActivity extends Activity {
static boolean isActive = false;
@Override
public void onStart() {
super.onStart();
isActive = true;
}
@Override
public void onStop() {
super.onStop();
isActive = false;
}
}
这是在subActivity类中:
public class subActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//Full screen
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.subActivity);
Button stopBtn = findViewById(R.id.stopBtn);
stopAlarmBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = getBaseContext();
if (MainActivity.isActive) {
startActivity(new Intent(context, MainActivity.class));
}
finish();
}
});
}
感谢您的帮助。