android locknow,java – Android DevicePolicyManager lockNow()

我是Android开发的新手,这就是我开门的原因.我希望应用程序作为服务运行,并监视SMS.如果收到特定的SMS消息,它将锁定电话(就像锁定期限已过期一样).有点像遥控锁.

我使用DevicePolicyManager来调用lockNow()方法.但是,它会在调用部分lockNow()时触发错误.

以下是活动的示例代码:

public class SMSMessagingActivity extends Activity {

/** Called when the activity is first created. */

public static DevicePolicyManager mDPM;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);

}

public static void LockNow(){

mDPM.lockNow();

}

}

谁能帮我?告诉我我的代码有什么问题?我是否必须调整某些内容才能在模拟器或设备上启用管理权限?

谢谢!

解决方法:

这是来自文档的东西:

The calling device admin must have requested USES_POLICY_FORCE_LOCK to be able to call this method; if it has not, a security exception will be thrown.

因此,您应该在oncreate中执行以下操作:

ComponentName devAdminReceiver; // this would have been declared in your class body

// then in your onCreate

mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);

devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class);

//then in your onResume

boolean admin = mDPM.isAdminActive(devAdminReceiver);

if (admin)

mDPM.lockNow();

else Log.i(tag,"Not an admin");

另外,您的示例代码是一项活动.

那,你应该只使用广播接收器来实现一切并监控短信.

这是接收短信的API示例:

标签:java,android,sms

来源: https://codeday.me/bug/20190630/1338255.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值