1
はので、私は持っているがとして登録されてBroadcastReceiver
:DevicePolicyManager `lockNowは();`デバイスの再起動後に動作しない
<receiver
android:name="package.MyBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
と私は、すぐにユーザーとして、デバイスをロックするDevicePolicyManager
を使用していますが、デバイスのロックを解除 - として、
@Override
public void onReceive(final Context context, final Intent intent) {
deviceManger = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
Runnable runnable = new Runnable() {
@Override
public void run() {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startMain);
deviceManger = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
//also tried with context..getApplicationContext() but no luck
deviceManger.lockNow();
}
}
};
}
デバイスの電源をオフにしてから再起動したときに、このコードは正常に動作しますが、::
は放送が以下のコードを参照してください受けますdeviceManger = (DevicePolicyManager) context.getApplicationContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
deviceManger.lockNow();
上記のキャスティングはデバイスには何の影響も与えないと思われます。つまり、デバイスはロックされませんが、デバイスを再起動する直前に正常に機能していました。 私はそれが最初の1かのために動作しませんが分かったログを追加しようとした私は、コードが実行されますが何のデバイスには影響がないようにlocknow()
思われます確信しています...
すべてのヘルプは