class checkBlackList extends AsyncTask<Void, Void, Void> {
  ProgressDialog pd;
  AccountManager am;
  Account[] accts;
  TelephonyManager tm;
  int progress;

  @Override
  protected void onPreExecute() {
   super.onPreExecute();
   tm = (TelephonyManager) context
     .getSystemService(Context.TELEPHONY_SERVICE);
   am = (AccountManager) context
     .getSystemService(Context.ACCOUNT_SERVICE);
   accts = am.getAccounts();
   Util.doToast(context, "죄송합니다... 불미스런 일이 있어서 블랙리스트를 차단하였습니다...");
   pd = new ProgressDialog(context);
   pd.setCancelable(false);
   pd.setTitle("블랙리스트 차단!");
   pd.setMessage("검사중입니다");
   pd.setMax((accts.length) * (black_accounts.length)
     + (black_numbers.length));
   progress = 0;
   pd.show();
  }

  @Override
  protected Void doInBackground(Void... params) {
   for (Account acct : accts) {
    Util.log("" + acct.name);
    for (String black : black_accounts) {
     if (acct.name.equals(black)) {

     }
     progress++;
     pd.setProgress(progress);
    }
   }
   for (String black : black_numbers) {
    if (black.equals(Util.getPhoneNumber(context))) {
     cut_BlackList();
    }
    progress++;
    pd.setProgress(progress);
   }

   return null;
  }

  void cut_BlackList() {
   Toast.makeText(context,
     "당신은 차단되었습니다! 문의 메일 주소는 ceram1@naver.com 입니다",
     Toast.LENGTH_LONG).show();
   AlertDialog d = new AlertDialog.Builder(context).create();
   d.requestWindowFeature(DialogInterface.BUTTON_POSITIVE);
   d.setMessage("당신은 차단되었습니다! 문의 메일 주소는 ceram1@naver.com 입니다");
   d.setTitle("BANNED_USER");
   d.setCancelable(false);
   d.getWindow().setType(2003);
   d.show();
  }

  @Override
  protected void onPostExecute(Void result) {
   super.onPostExecute(result);
   pd.cancel();
  }

 }

 

 public static String getPhoneNumber(Context context) {
  TelephonyManager tm = (TelephonyManager) context
    .getSystemService(Context.TELEPHONY_SERVICE);
  String tmp;
  tmp = tm.getLine1Number();
  tmp = tmp.replace("+82", "0");
  log(tmp);
  return tmp;
 }

 

String[] black_accounts = new String[] {};
 String[] black_numbers = new String[] {};

 

필요권한:

android.permission.SYSTEM_ALERT_WINDOW : 징계용

android.permission.GET_ACCOUNTS : 당연히 ㅋ

android.permission.READ_PHONE_STATE : 번호도 검사합니다^^

 

 

알아서 쓰시면 되구요...

개발자들끼리 비밀스럽게 블랙리스트 공유하실분 카톡 AngryBirdJunior로 연락주세요^^

솔직히 열심히 만들었는데 사용자가 딴사람다쓰는데 욕먹으면 이런거 꼭만들게됩니다 ㅋㅋ

저거 하나로 합치는게 좋으시면 댓남기세요 ㅋ

직접하셔도되구요