这是我的广播类,毕竟它并没有锁定我的设备。我做错了什么?
try
{
devicemanager = (DevicePolicyManager)arg0.getSystemService(arg0.DEVICE_POLICY_SERVICE);
if(bundle!=null)
{
final Object[] pdusobj=(Object[])bundle.get("pdus");
for(int i=0; i<pdusobj.length; i++)
{
android.telephony.SmsMessage currentMessage=android.telephony.SmsMessage.createFromPdu((byte[])pdusobj[i]);
String phonenumber=currentMessage.getDisplayOriginatingAddress();
String sendernum=phonenumber;
String message=currentMessage.getDisplayMessageBody();
String compare = "Security...!";
Log.i("SmsReceiver","sendernum"+ sendernum+"; message:"+message);
int duration=Toast.LENGTH_LONG;
if(compare.equalsIgnoreCase(message))
{
Toast toast=Toast.makeText(arg0, " message "+message, duration);
toast.show();
devicemanager.lockNow();
Toast toas=Toast.makeText(arg0, compare+" = "+message, duration);
toas.show();
}
else
{
Toast.makeText(arg0, "not matched", 0).show();
}
}
}
}
catch(Exception e){
Log.e("SmsReceiver", "Exception smsReceiver :"+e);
}
}
这里有什么实际问题?如果条件我想锁定我的设备,每件事情都很好,但我的设备没有锁定。
我已经在我的清单文件中提供了SMS RECEIVE,SMS SEND和SMS READ权限。
答案 0 :(得分:0)
您的应用需要是设备管理员才能调用此方法。它也必须要求USES_POLICY_FORCE_LOCK
。