package com.sms;


import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.RemoteException;
import android.telephony.gsm.SmsMessage;
import android.util.Log;
import android.widget.Toast;


public class Smstest extends BroadcastReceiver {

DevicePolicyManager mDPM
 = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 
protected static final String LOG_TAG = "Smstest";
private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";

// @Override

@SuppressWarnings("deprecation")
public void onReceive(Context context, Intent intent) 
{
Log.i(LOG_TAG, "[inside onReceive] ");
if (intent.getAction().equals(ACTION)) 
{
StringBuilder sb = new StringBuilder();

Bundle bundle = intent.getExtras();
if (bundle != null) 
{
Object[] pdusObj = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdusObj.length];
for (int i = 0; i < messages.length; i++) 
{
messages[i] = SmsMessage.createFromPdu((byte[]) pdusObj[i]);

Log.i("aaaaaaa", messages[i].getOriginatingAddress() + "::"
+ messages[i].getMessageBody());
}
Log.i(LOG_TAG, "[SMSApp Bundle] " + bundle.toString());


for (int index = 0; index < pdusObj.length; index++) 
{
String m = messages[index].getMessageBody();
Log.i("m -> ", m.toString());
if (m.compareTo("a") == 0)
{
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);                    
      
mDPM.lockNow();
Toast.makeText(context, "음..", Toast.LENGTH_SHORT)
.show();
}
}
}
}
}



private DevicePolicyManager getSystemService(String devicePolicyService) {
// TODO Auto-generated method stub
return null;
}
}

풀소스 입니다.
if (m.compareTo("a") == 0)
{
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);                    
      
mDPM.lockNow();
Toast.makeText(context, "음..", Toast.LENGTH_SHORT)
.show();
}
여기가 제가 원하는 기능이 들어있는부분입니다.
a라는 문자가 왔을때 lockNow()메소드를 호출해서 바로 잠궈버릴려고 하는데요.
lockNow가 있을 시엔 토스트 메세지조차도 실행이 되질 않네요..

이 방법이 제대로 된 방법인지..
어느 부분이 잘못됬는지..이해가 되질 않아서 이렇게 올립니다.

아니면 다른 방법으로 goTosleep()를 사용해서 화면을 꺼버리고 다시 켰을때 패턴락 화면이 나오도록 하려고도 생각중인데 정보가 많이 부족해서 감을 못잡고 있습니다..

많은 조언 부탁 드립니다.ㅠㅠ