- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Android 开发的新手,这就是我碰壁的原因。我希望应用程序作为服务运行,并监控 SMS。如果收到特定的 SMS 消息,它会锁定手机(就像锁定期已过期一样)。有点像遥控锁。
我使用 DevicePolicyManager
来调用 lockNow()
方法。但是,它会在调用 lockNow()
的部分触发错误。
这是 Activity 的示例代码:
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");
附带说明一下,您的示例代码是一个 Activity 。
那,你应该只使用广播接收器来实现一切并监控短信。
这是一个接收短信的 API 示例:
关于java - 安卓 DevicePolicyManager lockNow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560426/
我是 Android 开发的新手,这就是我碰壁的原因。我希望应用程序作为服务运行,并监控 SMS。如果收到特定的 SMS 消息,它会锁定手机(就像锁定期已过期一样)。有点像遥控锁。 我使用 Devic
public final static void lockDevice() { try { if (devicePolicyManage
我来这里是因为我创建了一个 android 应用程序,它使用 .lockNow() 关闭屏幕(通过锁定它)。 这是我的代码: btnToSleep.setOnClickListener(new OnC
事情很简单:按一个图标,让手机进入待机状态。令人沮丧的部分来自电话:有时,屏幕会随机唤醒并显示锁定屏幕,而不是保持待机状态。我还没有找到触发此行为的任何条件,大概是 3-5 次尝试中的一次。该应用程序
用户希望我的应用在使用后关闭屏幕。目前,我通过设备管理员权限和 DevicePolicyManager.lockNow() 实现了这一点,如果将安全设置设置为 PIN/Pattern/FaceUnlo
我是一名优秀的程序员,十分优秀!