안드로이드 개발 질문/답변
(글 수 45,052)
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()를 사용해서 화면을 꺼버리고 다시 켰을때 패턴락 화면이 나오도록 하려고도 생각중인데 정보가 많이 부족해서 감을 못잡고 있습니다..
많은 조언 부탁 드립니다.ㅠㅠ




컴포넌트 이용해서 쓰려고 했는데 잘 모르겠어서 그냥 올립니다;