Menonaktifkan (Disable) Tombol Back Button pada Android sebenarnya masalah sepele. Tetapi bisa membuat penasaran ketika sedang membutuhkan ^_^.
Kode program ini mempunyai kegunaan untuk menangkap event ketika tombol Back HP/Device Android ditekan agar kita bisa menjalankan dahulu kode program yang kita inginkan kemudian baru menutup Aplikasi atau Activity yang sedang di depan atau memberi konfirmasi, misalnya "Apakah Anda Yakin Akan Keluar?". Kira-kira seperti itulah kegunaannya.
Pertama buat dahulu Project baru. Di MainActivity.java ketikkan kode program berikut :
package com.amijaya.disable_back_button;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.KeyEvent;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
//Log.d(this.getClass().getName(), "back button pressed");
//Toast.makeText(getApplicationContext(), "Tidak Bisa Back", Toast.LENGTH_LONG).show();
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Anda Yakin ?");
String[] pilihan = {"Ya", "Tdk"};
builder.setItems(pilihan, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch(item){
case 0 :
finish();
break;
case 1 :
break;
}
}
});
builder.create().show();
return false;
}
return super.onKeyDown(keyCode, event);
}
}
Kemudian layout activity_main.xml kita biarkan saja seperti apa adanya :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://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:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />
</RelativeLayout>
File konfigurasi AndroidManifest.xml juga biarkan saja seperti apa adanya :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amijaya.disable_back_button"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.amijaya.disable_back_button.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Hasilnya :
Project dapat didownload disini. Jika kesulitan, ini cara downloadnya
Semoga bermanfaat suatu saat nanti :)
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :