Android - 处理程序 - 如何停止 Intent?
Android - Handler - How To Stop The Intent?
我想在按下后退按钮时停止处理 delay/intent。我搜索了一些线程,但我认为我没有相同的处理程序逻辑。如果是,我很抱歉。
这是我正在使用的代码:
else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, PollWebView_Gilmore.class);
startActivity(intent);
finish();
}
}, 10000);
你必须在某处保存对 Handler
和你的 Runnable
的引用,然后你可以使用 Handler
上的 removeCallbacks(Runnable)
方法来取消待处理的请求。
示例代码:
public class MainActivity extends AppCompatActivity {
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handler.postDelayed(runnable, 5000);
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
handler.removeCallbacks(runnable);
}
}
如果你想做一些有意向的事 pressed.You 可以覆盖 onBackPressed() 方法。
如果不需要延迟,为什么要使用处理程序?只需删除它!
直接调用这个
Intent intent = new Intent(MainActivity.this, PollWebView_Gilmore.class);
startActivity(intent);
finish();
当您按下后退按钮时!
你也可以通过阅读下面的帖子来了解一下。
Android: Proper Way to use onBackPressed() with Toast
How to run a Runnable thread in Android?
我想在按下后退按钮时停止处理 delay/intent。我搜索了一些线程,但我认为我没有相同的处理程序逻辑。如果是,我很抱歉。
这是我正在使用的代码:
else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, PollWebView_Gilmore.class);
startActivity(intent);
finish();
}
}, 10000);
你必须在某处保存对 Handler
和你的 Runnable
的引用,然后你可以使用 Handler
上的 removeCallbacks(Runnable)
方法来取消待处理的请求。
示例代码:
public class MainActivity extends AppCompatActivity {
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handler.postDelayed(runnable, 5000);
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
handler.removeCallbacks(runnable);
}
}
如果你想做一些有意向的事 pressed.You 可以覆盖 onBackPressed() 方法。
如果不需要延迟,为什么要使用处理程序?只需删除它!
直接调用这个
Intent intent = new Intent(MainActivity.this, PollWebView_Gilmore.class);
startActivity(intent);
finish();
当您按下后退按钮时!
你也可以通过阅读下面的帖子来了解一下。
Android: Proper Way to use onBackPressed() with Toast
How to run a Runnable thread in Android?