Cara Membuat Launcher Sendiri di Android Studio (updated)

Bagi anda yang bosan dengan launcher bawaan android anda yang itu-itu saja mungkin tutorial kali ini akan membantu, selain untuk dipakai sendiri launcher ini bisa anda jual di play store. pada kesempatan ini admin akan membahas cara pembuatan launcher sederhana di android studio



untuk membuatnya seperti biasa buatlah projek baru beri nama MyLauncher klik next sampe selesai
kemudian rubah style bawaan menjadi seperti ini:
<resources>

   
<!-- Base application theme. -->
   
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
       
<!-- Customize your theme here. -->
       
<item name="colorPrimary">@color/colorPrimary</item>
        <
item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <
item name="colorAccent">@color/colorAccent</item>
    </
style>

   
<!--this is the main theme-->
   
<style name="AppTheme.Wallpaper" parent="Theme.AppCompat.Light.NoActionBar">
        <
item name="android:windowBackground">@android:color/transparent</item>
        <
item name="android:windowShowWallpaper">true</item>
        <
item name="android:navigationBarColor">@android:color/transparent</item>
        <
item name="colorPrimaryDark">@android:color/transparent</item>
    </
style>

</
resources>

kemudian di activity_main.xml buat sebuah button untuk mengakses halaman menu aplikasi
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.giviews.mylauncger.MainActivity">



    <TextView

        android:layout_marginTop="40dp"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="NEVER SETTLE"

        android:gravity="center"

        android:textColor="#fff"

        android:textSize="70sp"

        android:id="@+id/textView" />







    <ImageButton

        android:id="@+id/menu"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_alignParentBottom="true"

        android:layout_marginBottom="10dp"

        android:backgroundTint="#fff"

        android:scaleType="centerCrop"

        android:src="@drawable/ic_view_comfy" />



    <TextClock

        android:id="@+id/textClock"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignEnd="@+id/menu"

        android:layout_alignRight="@+id/menu"

        android:layout_below="@+id/textView"

        android:layout_marginTop="46dp"

        android:fontFamily="sans-serif-condensed" />





</RelativeLayout>

kemudian buat item.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:gravity="center"

    android:padding="10dp">



    <ImageView

        android:id="@+id/icon"

        android:layout_width="50dp"

        android:layout_height="50dp"

        android:scaleType="centerInside"/>



    <TextView

        android:id="@+id/name"

        android:layout_gravity="center"

        android:maxLines="1"

        android:maxLength="9"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginTop="10dp" />



</LinearLayout>


kemudian buatlah activity_apps_list.xml kodenya seperti berikut:
xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:background="#fff"    tools:context="com.giviews.mylauncger.AppsListActivity">

    <ListView        android:id="@+id/list"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_margin="10dp">

    </ListView>

</LinearLayout>

langkah selanjutnya buat activity_apps_grid nantinya activity ini akan menjadi halaman menu aplikasi
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.giviews.mylauncger.AppsGridActivity">



    <GridView

        android:id="@+id/grid"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:numColumns="4"

        android:columnWidth="100dp"

        android:gravity="center"

        android:horizontalSpacing="10dp"

        android:stretchMode="spacingWidth"

        android:verticalSpacing="10dp"

        android:dividerHeight="0dp">



    </GridView>



</RelativeLayout>

sekarang bagian java nya, masukan kode ini untuk item.java
package com.giviews.mylauncger;



import android.graphics.drawable.Drawable;



/**

 * Created by asus on 14/10/2017.

 */



public class Item {

    CharSequence label; //package name

    CharSequence name; //app name

    Drawable icon; //app icon

}

untuk MainActivity.java masukan kode berikut
package com.giviews.mylauncger;



import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageButton;



public class MainActivity extends AppCompatActivity {



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        ImageButton menu = (ImageButton) findViewById(R.id.menu);

        menu.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                Intent intent = new Intent(getApplicationContext(), AppsGridActivity.class);

                startActivity(intent);

            }

        });

    }

}

untuk AppsListActivity.java masukan kode berikut ini:
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.util.ArrayList;
import java.util.List;

public class AppsListActivity extends AppCompatActivity {

    private PackageManager manager;
    private List apps;

    private ListView list;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_apps_list);

        loadApps();
        loadListView();
        addClickListener();
    }

    private void loadApps(){
        manager = getPackageManager();
        apps = new ArrayList<>();

        Intent i = new Intent(Intent.ACTION_MAIN, null);
        i.addCategory(Intent.CATEGORY_LAUNCHER);

        List availableActivities = manager.queryIntentActivities(i, 0);
        for (ResolveInfo ri : availableActivities) {
            Item app = new Item();
            app.label = ri.activityInfo.packageName; //get app package            app.name = ri.loadLabel(manager); //get app name            app.icon = ri.loadIcon(manager); //get app icon            apps.add(app);
        }
    }

    private void loadListView(){
        list = (ListView) findViewById(R.id.list);

        ArrayAdapter adapter = new ArrayAdapter(this, R.layout.item, apps) {

            @NonNull            @Override            public View getView(int position, @Nullable View convertView, @Nullable ViewGroup parent) {
                if (convertView == null) {
                    convertView = getLayoutInflater().inflate(R.layout.item, null);
                }

                ImageView appIcon = (ImageView) convertView.findViewById(R.id.icon);
                appIcon.setImageDrawable(apps.get(position).icon);

                TextView appName = (TextView) convertView.findViewById(R.id.name);
                appName.setText(apps.get(position).name);

                return convertView;
            }
        };
        list.setAdapter(adapter);
    }

    private void addClickListener(){
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override            public void onItemClick(AdapterView adapterView, View view, int position, long id) {
                Intent i = manager.getLaunchIntentForPackage(apps.get(position).label.toString());
                startActivity(i);
            }
        });
    }
}

kemudian untuk AppsGridActivity.java masukan kode ini
package com.giviews.mylauncger;



import android.content.Intent;

import android.content.pm.PackageManager;

import android.content.pm.ResolveInfo;

import android.support.annotation.NonNull;

import android.support.annotation.Nullable;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.GridView;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;



import java.util.ArrayList;

import java.util.List;



public class AppsGridActivity extends AppCompatActivity {

    private PackageManager manager;

    private List<Item> apps;



    private GridView grid;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_apps_grid);



        loadApps();

        loadGridView();

        addClickListener();

    }



    private void loadApps(){

        manager = getPackageManager();

        apps = new ArrayList<>();



        Intent i = new Intent(Intent.ACTION_MAIN, null);

        i.addCategory(Intent.CATEGORY_LAUNCHER);



        List<ResolveInfo> availableActivities = manager.queryIntentActivities(i, 0);

        for (ResolveInfo ri : availableActivities) {

            Item app = new Item();

            app.label = ri.activityInfo.packageName; //get app package

            app.name = ri.loadLabel(manager); //get app name

            app.icon = ri.loadIcon(manager); //get app icon

            apps.add(app);

        }

    }



    private void loadGridView(){

        grid = (GridView) findViewById(R.id.grid);



        ArrayAdapter<Item> adapter = new ArrayAdapter<Item>(this, R.layout.item, apps) {



            @NonNull

            @Override

            public View getView(int position, @Nullable View convertView, @Nullable ViewGroup parent) {

                if (convertView == null) {

                    convertView = getLayoutInflater().inflate(R.layout.item, null);

                }



                ImageView appIcon = (ImageView) convertView.findViewById(R.id.icon);

                appIcon.setImageDrawable(apps.get(position).icon);



                TextView appName = (TextView) convertView.findViewById(R.id.name);

                appName.setText(apps.get(position).name);



                return convertView;

            }

        };

        grid.setAdapter(adapter);

    }



    private void addClickListener(){

        grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

                Intent i = manager.getLaunchIntentForPackage(apps.get(position).label.toString());

                startActivity(i);

            }

        });

    }

}

terakhir untuk AndroidManifest sesuaikan seperti ini
<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.giviews.mylauncger">



    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:theme="@style/AppTheme">

        <activity

            android:name=".MainActivity"

            android:launchMode="singleTask"

            android:stateNotNeeded="true"

            android:theme="@style/AppTheme.Wallpaper">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />



                <category android:name="android.intent.category.HOME" />

                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>

        </activity>

        <activity

            android:name=".AppsListActivity"

            android:theme="@style/AppTheme.Wallpaper" />

        <activity android:name=".AppsGridActivity"></activity>

    </application>



</manifest>

Bila app ada tanda silang klik app -> edit configuration -> launch pilih Nothing


Selanjutnya jalankan pada hp android kesayangan anda jika launchernya bisa digunakan maka selamat anda telah berhasil membuat launcher sendiri, sekianlah tutorial kali ini selamat mencoba semoga bermanfaat jika ada yang kurang jelas silakan ditanyakan pada komentar, happy coding jika artikel ini bermanfaat silakan di share ke teman anda.


Membuat Background Particle dots yang atraktif dengan particles.js

Assalamualaikum. Wr. Wb, kali ini admin masih membahas tentang background, dan pada postingan kali ini admin mau berbagi tutorial membuat background titik particle yang atraktif dengan menggunakan particles.js, background ini sangat bagus karena memiliki animasi yang menarik dan interaktif ketika di hover atau di klik dengan mouse menampilkan feedback yang interaktif. sehingga backgroundnya tidak membosankan dan bisa dimainkan.




ok langsung saja untuk membuatnya masukan kode berikut:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Particle JS</title>
    <style media="screen">
    #particles-js{
      background: #0e0483;
      height: 100vh;
    }
    body {
      width: 100%;
      font: normal 16px Arial, Helvetica, sans-serif;
      color: #333;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    #login {
      background: #fff;
      opacity: 0.9;
      padding: 2em;
      position: absolute;
      top: 200px;
      left: 150px;
    }
    #login h3 {
      color: #555555;
    }
    #login input[type="text"], #login input[type="password"] {
      padding: 7px;
      margin-bottom: 10px;
      border: 1px solid #ccc;
    }
    #login input[type="submit"] {
      padding: 7px;
      background: rgb(5, 200, 118);
      color: #fff;
      border: none;
      opacity: 1;
      display: block;
      float: right;
    }
    </style>
  </head>
  <body>
    <div id="particles-js">
      <div id="login">
        <h3>Login</h3>
        <form action="#" method="post">
          <div>
            <label for="username">Username</label><br>
            <input type="text" name="" placeholder="Username">
          </div>
 
          <div>
            <label for="password">Password</label><br>
            <input type="password" name="" placeholder="Password">
          </div>
          <input type="checkbox" name=""> Ingat Saya
 
          <input type="submit" name="" value="Login">
        </form>
      </div>
    </div>
 
    <script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js" charset="utf-8"></script>
    <script type="text/javascript">
      particlesJS.load('particles-js','particles.json', function() {
        console.log('particles.json loaded...');
      })
    </script>
  </body>
</html>

Kemudian buat lagi file dengan nama particles.json dengan isi sebagai berikut :
{
  "particles":{
    "number":{
      "value":300
    },
    "size":{
      "value":3
    }
  },
  "interactivity":{
    "events":{
      "onhover":{
        "enable":true,
        "mode": "repulse"
      }
    },
    "modes":{
      "repulse":{
        "distance":50,
        "duration":0.4
      }
    }
  }
}


Selanjutnya cek hasilnya di browser kesayangan anda, untuk demonya bisa kalian lihat pada tautan dibawah. sekianlah tutorial kali ini selamat mencoba salam koding otak pusing jari keriting. jangan lupa share  tutorial ini ke teman anda semoga bermanfaat, Wasalamualaikum Wr. Wb.

Membuat QRCode Scanner di Android Menggunakan Google Vision Api

Assalamualaikum Wr.Wb. Selamat malam, pada kesempatan kali ini Saya akan berbagi tutorial mengenai QR Code Scanner. kita akan membuat QR Code Scanner menggunakan Google Vision Api di Android. QR Code Scanner ini bisa diaplikasikan untuk login misalnya seperti login di whatsapp web dan lain-lain.



untuk membuatnya pertama-tama masukan despendency ini di module.gradle 
compile 'com.google.android.gms:play-services:10.0.1'

kemudian buat sebuah button untuk membuka camera dan sebuah textview untuk menampilkan hasil scan qrcode nya:
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.giviews.qrcodescanner.MainActivity">



    <Button

        android:id="@+id/scanbtn"

        android:layout_marginTop="40dp"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="scan"

        android:layout_centerHorizontal="true" />



    <TextView

        android:id="@+id/result"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_below="@+id/scanbtn"

        android:text="RESULT"

        android:textSize="25dp"

        android:layout_marginTop="20dp"

        android:gravity="center"/>



</RelativeLayout>

kemudian masukan kode ini di javanya:
package com.giviews.qrcodescanner;



import android.Manifest;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.support.v4.app.ActivityCompat;

import android.support.v4.content.ContextCompat;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;



import com.google.android.gms.vision.barcode.Barcode;



public class MainActivity extends AppCompatActivity {

    private Button scanbtn;

    private TextView result;

    public static final int REQUEST_CODE = 100;

    public static final int PERMISSION_REQUEST = 200;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {

            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST);

        }

        scanbtn = (Button) findViewById(R.id.scanbtn);

        result = (TextView) findViewById(R.id.result);

        scanbtn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                Intent intent = new Intent(getApplicationContext(), ScanActivity.class);

                startActivityForResult(intent, REQUEST_CODE);

            }

        });

    }



    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {

            if (data != null) {

                final Barcode barcode = data.getParcelableExtra("barcode");

                result.post(new Runnable() {

                    @Override

                    public void run() {

                        result.setText(barcode.displayValue);

                    }

                });

            }

        }

    }

}

lalu buat activity baru dengan nama Scan Activity. dan masukan kode ini untuk xml nya:
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.giviews.qrcodescanner.ScanActivity">



    <SurfaceView

        android:id="@+id/cameraView"

        android:layout_width="match_parent"

        android:layout_height="match_parent" />



</RelativeLayout>

selanjutnya untuk java di ScanActivity masukan kode dibawah ini:
package com.giviews.qrcodescanner;



import android.*;

import android.Manifest;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.support.v4.content.ContextCompat;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.SparseArray;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

import android.widget.Toast;



import com.google.android.gms.vision.CameraSource;

import com.google.android.gms.vision.Detector;

import com.google.android.gms.vision.barcode.Barcode;

import com.google.android.gms.vision.barcode.BarcodeDetector;



import java.io.IOException;



import static com.giviews.qrcodescanner.MainActivity.REQUEST_CODE;



public class ScanActivity extends AppCompatActivity {

    SurfaceView cameraView;

    BarcodeDetector barcode;

    CameraSource cameraSource;

    SurfaceHolder holder;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_scan);

        cameraView = (SurfaceView) findViewById(R.id.cameraView);

        cameraView.setZOrderMediaOverlay(true);

        holder = cameraView.getHolder();

        barcode = new BarcodeDetector.Builder(this)

                .setBarcodeFormats(Barcode.QR_CODE)

                .build();

        if (!barcode.isOperational()) {

            Toast.makeText(getApplicationContext(), "Sorry couldnt setup the detector", Toast.LENGTH_LONG).show();

            this.finish();

        }



        cameraSource = new CameraSource.Builder(this, barcode)

                .setFacing(CameraSource.CAMERA_FACING_BACK)

                .setRequestedFps(24)

                .setAutoFocusEnabled(true)

                .setRequestedPreviewSize(1920,1024)

                .build();

        cameraView.getHolder().addCallback(new SurfaceHolder.Callback() {

            @Override

            public void surfaceCreated(SurfaceHolder surfaceHolder) {

                try {

                    if (ContextCompat.checkSelfPermission(ScanActivity.this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {

                        cameraSource.start(cameraView.getHolder());

                    }

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }



            @Override

            public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {



            }



            @Override

            public void surfaceDestroyed(SurfaceHolder surfaceHolder) {



            }

        });

        barcode.setProcessor(new Detector.Processor<Barcode>() {

            @Override

            public void release() {



            }



            @Override

            public void receiveDetections(Detector.Detections<Barcode> detections) {

                final SparseArray<Barcode> barcode = detections.getDetectedItems();

                if (barcode.size() > 0) {

                    Intent intent = new Intent();

                    intent.putExtra("barcode", barcode.valueAt(0));

                    setResult(RESULT_OK, intent);

                    finish();

                }

            }

        });

    }

}

terakhir tambahkan permission untuk mengakses kamera di manifest
<uses-permission android:name="android.permission.CAMERA" />

dan tambahkan metadata di dalam application
<meta-data

    android:name="com.google.android.gms.vision.DEPENDENCIES"

    android:value="barcode" />


jika scan berhasil



Selanjutnya test qr-code scannernya, untuk qr codenya anda bisa mencoba qrcode generator di web. Ok sekianlah tutorial kali ini kurang lebihnya mohon maaf jika ada yang kurang jelas silakan ditanyakan di komentar, jika artikel ini bermanfaat silakan di share

Pengalaman Bypass FRP (Factory Reset Protection) Android Nougat 7.1.1



Keamanan di Android kini udah hampir setara dengan IOS mulai dari android Lolipop 5.1 ke atas android sudah dibekali dengan fitur keamanan FRP mirip dengan iCloudnya IOS jadi jika hp kita hilang orang akan susah membukanya karena harus memasukan email lama hp kita.

Waktu itu saya disuruh mereset hp android j2 pro kemudian tanpa fikir panjang saya langsung menekan tiga tombol yang biasa digunakan untuk masuk ke recovery mode hp Samsung yaitu tombol Power + Home + Volume Atas secara bersamaan kemudian saya pilih Wipe All Data kemudian saya reboot

Setelah di reboot kita akan disuguhkan tampilan Selamat Datang seperti biasa jika hp baru direset, kemudian masalahnya muncul disini saya disuruh memasukan email hp yang lama yang pernah digunakan di hp ini sebelumnya, kemudian saya Tanya teman saya dan ternyata teman saya lupa password emailnya

Kemudian saya googling sampai dua hari saya mencoba berbagai cara dan akhirnya saya menemukan caranya yaitu dengan menggunakan metode Talkback. Tekan tombol Home 3x kemudian akan muncul tampilan talkback Swipe menyerupai huruf L kemudian pilih Talkback  Setting kemudian Scroll ke bawah  (Tekan lagi tombol home 3x agar talkbacknya mati dan mudah scrollnya) pilih Help & Feedback pilih topic pertama akan ada video youtube kemudian pilih share video tersebut menggunakan ikon titik tiga, kemudian akan kebuka Samsung browser pilih pengaturan -> info aplikasi -> perbarui, kemudian akan kebuka galaxy store di galaxy store, install aplikasi launcher (launcher apa aja) kemudian buka launchernya nah disini kita udah masuk ke handphone kita, kita bisa masuk ke pengaturan menambahkan pola tapi kita belum bisa buka produk google seperti gmail, google play, karena kalau kita buka aplikasi itu kita akan diminta untuk memasukan email yang lama tadi. kemudian kita buka kalkulator ketikan (+30012012732+ akan kebuka DRParser Mode ketikan *#0808# pilih DM + ACM + ADB -> reboot (ini akan membuka Fitur ADB USB) kemudian colokan hp ke computer, di computer kita buka program Minimal ADB and Fastboot dan ketikan perintah berikut

adb shell content insert --uri content://settings/secure --bind name:s:user_setup_complete --bind value:s:1

adb shell am start -n com.google.android.gsf.login/

adb shell am start -n com.google.android.gsf.login.LoginActivity

kemudian tekan tombol kunci untuk mengunci layar kemudian tekan lagi untuk membuka layar jika masih ada tulisan WELCOME tekan tombol Home, nah kemudian HP Android kita akan masuk ke halaman utama dan email yang diminta tadi akan hilang dan kita sekarang bisa memasukan email baru kita. sampai disini proses Bypass berhasil, Jika ada yang kurang jelas bisa ditanyakan di kolom komentar dibawah.