কখনও কখনও আমরা অনিচ্ছাকৃতভাবে ব্যাক বোতামে ক্লিক করি, আপনি যখন একটি ব্যাক বোতামে ক্লিক করেন তখন এটি আপনার অ্যাপ্লিকেশন বন্ধ করে দেবে বা অন্য কার্যকলাপে ফিরে যাবে। এই সমস্যা এড়াতে, এই উদাহরণটি দেখায় কিভাবে একটি কার্যকলাপ বন্ধ করতে দুইবার ব্যাক বোতাম তৈরি করতে হয়।
ধাপ 1 - অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে প্রয়োজনীয় সমস্ত বিবরণ পূরণ করুন৷
ধাপ 2 - নিম্নলিখিত কোডটি res/layout/activity_main.xml এ যোগ করুন।
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android" android:id = "@+id/parent" xmlns:tools = "https://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" android:gravity = "center" android:background = "#33FFFF00" android:orientation = "vertical"> <TextView android:id = "@+id/text" android:textSize = "18sp" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </LinearLayout>
ধাপ 3 - নিম্নলিখিত কোডটি src/MainActivity.java
এ যোগ করুনpackage com.example.andy.myapplication; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.os.VibrationEffect; import android.os.Vibrator; import android.support.annotation.RequiresApi; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { int view = R.layout.activity_main; private static final int TIME_INTERVAL = 2000; private long mBackPressed; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(view); } @Override public void onBackPressed() { if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis()) { super.onBackPressed(); return; } else { Toast.makeText(getBaseContext(), "Click two times to close an activity", Toast.LENGTH_SHORT).show(); } mBackPressed = System.currentTimeMillis(); } }
যখন একজন ব্যবহারকারী পিছনের বোতামে ক্লিক করেন তখন এটি ব্যাকপ্রেসড() কল করবে। এটি নীচে দেখানো হিসাবে দুটি টাইম-প্রেসড বা না চেক করতে যাচ্ছে -
@Override public void onBackPressed() { if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis()) { super.onBackPressed(); return; } else { Toast.makeText(getBaseContext(), "Click two times to close an activity", Toast.LENGTH_SHORT).show(); } mBackPressed = System.currentTimeMillis(); } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপর আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
একবার আপনি একটি পিছনের বোতামে ক্লিক করলে এটি উপরে দেখানো হিসাবে স্ক্রীন দেখাবে। এখন দুবার ক্লিক করলে একটি অ্যাপ্লিকেশন বন্ধ হয়ে যাবে।