কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড ডিভাইসের হোম বাটন ক্লিক নিষ্ক্রিয় করা (Disable Home Button)

⚠️ সতর্কতা: হোম বাটন নিষ্ক্রিয় করা সুরক্ষিত নয় এবং প্লে স্টোর নীতিমালা লঙ্ঘন করে

এই টিউটোরিয়াল শুধু শিক্ষামূলক উদ্দেশ্যে। প্রোডাকশন অ্যাপে হোম বাটন ডিজেবল করা উচিত নয় — এটি ব্যবহারকারীর অভিজ্ঞতা বიგাড়ে এবং সিস্টেম সিকিউরিটি লঙ্ঘন করে। Android-এ হোম বাটন ওভাররাইড করা যাবে না; এখানে একটি "হ্যাক" দেখানো হয়েছে যা অ্যাপকে লঞ্চারের মতো ব تصدر করে এবং onPause()-এ টাস্ক ফরোয়ার্ড আনে।

ধাপ ১: প্রজেক্ট তৈরি করুন

Android Studio-তে নতুন প্রজেক্ট শুরু করুন।

ধাপ ২: লেআউট (activity_main.xml) - সাধারণ

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="হোম বাটন টেস্ট"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

ধাপ ৩: MainActivity.java - onPause-এ টাস্ক ফরোয়ার্ড

package com.example.sample;

import android.app.ActivityManager;
import android.content.Context;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onPause() {
        super.onPause();
        // অ্যাপ ব্যাকগ্রাউন্ডে যাওয়ার চেষ্টা করলে ফিরিয়ে আনা
        ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        if (am != null) {
            am.moveTaskToFront(getTaskId(), 0);
        }
    }
}

ধাপ ৪: AndroidManifest.xml - লঞ্চার ক্যাটেগরি যোগ করুন

<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.sample">

    <uses-permission android:name="android.permission.REORDER_TASKS" />

    <application ...>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>

কিভাবে কাজ করে (থিওরি)

  • android.intent.category.HOME যোগ করলে অ্যাপটি একটি "হোম স্ক্রিন" (লঞ্চার) হিসেবে রেজিস্টার হয়।
  • হোম বাটন চাপলে সিস্টেম এই লঞ্চারকে দেখায়।
  • onPause()-এ moveTaskToFront() কল করলে অ্যাপটি আবার ফোরগ্রাউন্ডে আসে।

কেন এটি খারাপ প্র্যাকটিস?

  1. ব্যবহারকারী ডিভাইস থেকে বের হতে পারে না।
  2. সিস্টেম অস্থির হয়ে যেতে পারে।
  3. Google Play Store-এ এই অ্যাপ রিজেক্ট হবে।
  4. Android 10+ (API 29) এ এই পদ্ধতি কাজ করে না (সিস্টেম লঞ্চার প্রোটেক্টেড)।

বিকল্প: Kiosk Mode / Lock Task Mode

কিওস্ক অ্যাপ বা ডেডিকেটেড ডিভাইসের জন্য Lock Task Mode (Android 5.0+) বা Device Policy Controller (DPC) ব্যবহার করুন। এটি সুরক্ষিত এবং অফিসিয়াল পদ্ধতি।

ফলাফল (শুধু টেস্ট ডিভাইসে)

হোম বাটন চাপলে অ্যাপটি আবার ফোরগ্রাউন্ডে ফিরে আসবে (পুরানো Android-এ)।

অ্যান্ড্রয়েড ডিভাইসের হোম বাটন ক্লিক নিষ্ক্রিয় করা (Disable Home Button) অ্যান্ড্রয়েড ডিভাইসের হোম বাটন ক্লিক নিষ্ক্রিয় করা (Disable Home Button)
শুধু শিক্ষামূলক ডেমো — প্রোডাকশনে ব্যবহার করবেন না
  1. আইফোনে হোম বাটন ফিরিয়ে আনার উপায় (AssistiveTouch ব্যবহার করে)

  2. iOS ডিভাইসে হোম বাটন ক্লিক স্পিড অ্যাডজাস্ট করার পদ্ধতি

  3. অ্যান্ড্রয়েডে হোম বাটন দিয়ে ক্যামেরা লঞ্চ করার পদ্ধতি

  4. অ্যান্ড্রয়েডে অ্যাপস অটো-লঞ্চ বন্ধ করুন: ধাপে ধাপে গাইড