Я создал приложение, которое идет на вторую страницу с первой страницы на Shake. Но со второй страницы он не возвращается на первую страницу. Как я могу остановить действие сотрясения первой страницы, когда она закрыта?
Я реализовал onShake()
метод на обеих страницах.
Это основное действие:
public class MainActivity extends AppCompatActivity implements ShakeDetector.Listener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView t= (TextView) findViewById(R.id.t1);
t.setText("Hello World");
SensorManager SM=(SensorManager)getSystemService(SENSOR_SERVICE);
ShakeDetector SD=new ShakeDetector(this);
SD.start(SM);
}
@Override
public void hearShake() {
getWindow().getDecorView().setBackgroundColor(Color.GREEN);
OpenActivityNew();
}
private void OpenActivityNew() {
Intent intent=new Intent(this,TimeDone.class);
finish();
startActivity(intent);
}
}
Это второе занятие:
public class TimeDone extends AppCompatActivity implements ShakeDetector.Listener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timer_layout);
TextView t= (TextView) findViewById(R.id.t2);
t.setText("This is Second Page");
SensorManager SM=(SensorManager)getSystemService(SENSOR_SERVICE);
ShakeDetector SD=new ShakeDetector(this);
SD.start(SM);
}
@Override
public void hearShake() {
getWindow().getDecorView().setBackgroundColor(Color.GREEN);
OpenActivityNew();
}
private void OpenActivityNew() {
Intent intent=new Intent(this,MainActivity.class);
finish();
startActivity(intent);
}
Я реализовал одно и то же для обоих классов, так что встряхивание с одной страницы перенесет на другую, и наоборот. Но он работает только с MainActivity
.