从AlarmManager启动的活动转到主要活动

时间:2017-12-22 16:17:37

标签: android android-activity alarmmanager

我有一个由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();
        }
    });
}

感谢您的帮助。

0 个答案:

没有答案