2017-02-05 9 views
1

はので、私は持っているがとして登録されてBroadcastReceiverDevicePolicyManager `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()思われます確信しています...

すべてのヘルプは

答えて

0

を高く評価しています2回は、その後に作業を開始します...

関連する問題