android locknow,java – Android DevicePolicyManager lockNow()
我是Android開(kāi)發(fā)的新手,這就是我開(kāi)門(mén)的原因.我希望應(yīng)用程序作為服務(wù)運(yùn)行,并監(jiān)視SMS.如果收到特定的SMS消息,它將鎖定電話(就像鎖定期限已過(guò)期一樣).有點(diǎn)像遙控鎖.
我使用DevicePolicyManager來(lái)調(diào)用lockNow()方法.但是,它會(huì)在調(diào)用部分lockNow()時(shí)觸發(fā)錯(cuò)誤.
以下是活動(dòng)的示例代碼:
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();
}
}
誰(shuí)能幫我?告訴我我的代碼有什么問(wèn)題?我是否必須調(diào)整某些內(nèi)容才能在模擬器或設(shè)備上啟用管理權(quán)限?
謝謝!
解決方法:
這是來(lái)自文檔的東西:
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.
因此,您應(yīng)該在oncreate中執(zhí)行以下操作:
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");
另外,您的示例代碼是一項(xiàng)活動(dòng).
那,你應(yīng)該只使用廣播接收器來(lái)實(shí)現(xiàn)一切并監(jiān)控短信.
這是接收短信的API示例:
標(biāo)簽:java,android,sms
來(lái)源: https://codeday.me/bug/20190630/1338255.html
總結(jié)
以上是生活随笔為你收集整理的android locknow,java – Android DevicePolicyManager lockNow()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: QT中鼠标位置获取问题之event-gl
- 下一篇: QT mouseMoveEvent事件(