অ্যাপ্লিকেশন লগ আউট করার সময় অ্যান্ড্রয়েডে ব্যাক বোতামটি কীভাবে অক্ষম করবেন?
অ্যাপ্লিকেশন লগ আউট করার সময় অ্যান্ড্রয়েডে ব্যাক বোতামটি কীভাবে অক্ষম করবেন?
উত্তর:
অনব্যাকপ্রেসড পদ্ধতিটি ওভাররাইড করুন এবং আপনি যদি ডিভাইসে পিছনের বোতামটি হ্যান্ডেল করতে চান তবে কিছুই করবেন না।
@Override
public void onBackPressed() {
if (shouldAllowBack()) {
super.onBackPressed();
} else {
doSomething();
}
}
উচ্চতর এপিআই লেভেল ২.০ এবং এর থেকে বেশি খুঁজছেন তবে এটি দুর্দান্ত কাজ করবে
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
অ্যান্ড্রয়েড এপিআই স্তরের সন্ধান করতে থাকলে 1.6 পর্যন্ত।
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR
return true;
}
return super.onKeyDown(keyCode, event);
}
ব্যাক বোতাম টিপে রোধ করতে আপনার ক্রিয়াকলাপে উপরের কোডটি লিখুন
আপনি এই সহজ উপায়ে করতে পারেন সুপার.নব্যাকপ্রেসড () কল করবেন না
@Override
public void onBackPressed() {
// super.onBackPressed();
// Not calling **super**, disables back button in current screen.
}
অনব্যাকপ্রেসড () পদ্ধতিটি কেবল ওভাররাইড করুন ।
@Override
public void onBackPressed() { }
আমি এটি ব্যবহার করছি .............
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK)
Toast.makeText(getApplicationContext(), "back press",
Toast.LENGTH_LONG).show();
return false;
// Disable back button..............
}
আপনি যদি নিশ্চিত করতে চান যে আপনার অ্যাক্টিভিটিটি মারা যাওয়ার আগে আপনার অ্যান্ড্রয়েড ক্লায়েন্ট অ্যাপ্লিকেশনটি কোনও সার্ভার থেকে লগ আউট হয়েছে -> তার নিজস্ব থ্রেডে কোনও পরিষেবা দিয়ে লগ আউট করুন (এটি যাইহোক আপনার করার কথা ছিল)।
পিছনের বোতামটি অক্ষম করা আপনার কোনও সমস্যার সমাধান করবে না। উদাহরণস্বরূপ যখন ব্যবহারকারী একটি ফোন কল পান আপনার তখনও একই সমস্যা থাকবে। যখন কোনও ফোন কল গৃহীত হয়, আপনার ক্রিয়াকলাপটি নেটওয়ার্ক থেকে একটি নির্ভরযোগ্য উত্তর পাওয়ার আগেই মারা যাওয়ার প্রায় সম্ভাবনা থাকে।
এজন্য আপনাকে কোনও পরিষেবাটিকে নেটওয়ার্ক থেকে উত্তরের জন্য তার নিজস্ব থ্রেডে অপেক্ষা করতে দেওয়া উচিত, এবং তারপরে এটি সফল না হলে এটি আবার চেষ্টা করুন। অ্যান্ড্রয়েড পরিষেবাটি কোনও উত্তর ফিরে আসার আগেই মারা যাওয়ার সম্ভাবনা খুব কম নয়, তবে কাজটি শেষ করার আগেই যদি সত্যিই তাকে হত্যা করা উচিত হয় তবে এটি সর্বদা আবার চেষ্টা করার জন্য অ্যালার্ম ম্যানেজার দ্বারা পুনরুত্থিত হতে পারে।
কেবলমাত্র অনব্যাকপ্রেসড () পদ্ধতিটি ওভাররাইড করুন এবং অনব্যাকপ্রেসড পদ্ধতি বা অন্যদের সুপার ক্লাসের কল করার দরকার নেই ..
@Override
public void onBackPressed()
{
}
অথবা আপনার বর্তমান ক্রিয়াকলাপটি অনব্যাকপ্রেসড () পদ্ধতিতে পাস করুন।
@Override
public void onBackPressed()
{
startActivity(new Intent(this, myActivity.class));
finish();
}
আপনার প্রয়োজনীয় ক্রিয়াকলাপটির নামটি আমার ক্রিয়াকলাপে প্রতিস্থাপন করুন।
আপনি যদি খণ্ডটি ব্যবহার করে থাকেন তবে প্রথমে কল করুন প্যারেন্টমথোড () পদ্ধতিটি
public void callParentMethod(){
context.onBackPressed(); // instead of context use getActivity or something related
}
তারপরে খালি পদ্ধতিটি কল করুন
@Override
public void onBackPressed()
{
}
যদি আপনি ব্যবহার করছেন FragmentActivity
। তারপরে এইভাবে কর
প্রথম এটি আপনার ভিতরে কল করুন Fragment
।
public void callParentMethod(){
getActivity().onBackPressed();
}
এবং তারপরে onBackPressed
আপনার পিতামাতার FragmentActivity
ক্লাসের পাশে কল করুন ।
@Override
public void onBackPressed() {
//super.onBackPressed();
//create a dialog to ask yes no question whether or not the user wants to exit
...
}
আপনি onBackPressed()
আপনার ক্রিয়াকলাপে পদ্ধতিটিকে ওভাররাইড করতে পারেন এবং কলটি সুপার ক্লাসে সরাতে পারেন।
@Override
public void onBackPressed() {
//remove call to the super class
//super.onBackPressed();
}
পিছনের বোতামটির জন্য আপনাকে কেবল পদ্ধতিটি ওভাররাইড করতে হবে। আপনি চাইলে আপনি পদ্ধতিটি খালি রেখে দিতে পারেন যাতে আপনি পিছনের বোতামটি টিপলে কোনও কিছুই না ঘটে। নীচের কোডটি একবার দেখুন:
@Override
public void onBackPressed()
{
// Your Code Here. Leave empty if you want nothing to happen on back press.
}
উপরের উত্তর থেকে এই দুটি পদ্ধতি গঠন করুন।
অনব্যাকপ্রেসড () (এপিআই স্তর 5, অ্যান্ড্রয়েড 2.0)
onKeyDown () (এপিআই স্তর 1, অ্যান্ড্রয়েড 1.0)
আপনি এটির dispatchKeyEvent()
(এপিআই স্তর 1, অ্যান্ড্রয়েড 1.0) ওভাররাইড করতে পারেন ,
dispatchKeyEvent()
(এপিআই স্তর 1, অ্যান্ড্রয়েড 1.0)
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.dispatchKeyEvent(event);
}
অ্যান্ড্রয়েডে ব্যাক বোতামটি অক্ষম করুন
@Override
public void onBackPressed() {
return;
}
এটা চেষ্টা কর:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}