2017-01-12 5 views
0

電源ボタンを実際に長押しすることなく、電源オフ/再起動ダイアログを表示したいとします。私が見つけたすべての単一の情報源は、電話が根づいていなければ、これが不可能であると言います。しかし、電源ボタンを使わずに電源を切るか再起動するかどうかを確認することができるGoogle PlayストアのTaskerというアプリが見つかりました。これは何とか可能でなければならないことを意味します。アプリはアクセシビリティサービスを使用していますが、電源ボタンを長押しする方法を把握することはできません。多分ここの誰かが私を助けたり、正しい方向に私を向けることができます。アクセシビリティサービスを使用して電源ボタンを長押しする方法

@Override 
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) { 
    switch (accessibilityEvent.getEventType()){ 
     case AccessibilityEvent.TYPE_VIEW_CLICKED: 
      //What should be here ??? 
      break; 
    } 
} 

これは動作しますが、私は次に何をすべきか分からない:

は、私は、通常のボタンを押したときにイベントを受信AccessibilityService設定しています。

答えて

1

パワーダイアログを表示するときに、アプリで何かによってトリガーされたグローバルアクションを使用します。これはActivityIntentをアクセシビリティサービスまたはカスタムバインダーインターフェイスに送信することで実行できます。サービスコール内:

performGlobalAction(GLOBAL_ACTION_POWER_DIALOG); 

これにはAPI 21+が必要です。

+0

ありがとうございます。これはまさに私が探していたものです。 – FewWords

+0

うれしい私は助けることができました! –