2016-06-17 6 views
1

画面のパスワードに一定以上の失敗があった場合、Android Phone(LP 5.1.1)を再起動しようとしています。ここではキーガードの私の言語は以下のとおりです。特定のパスワードの試行に失敗した場合、アンドロイドの電話機を再起動する言語

if (mLockPatternUtils.isSeparateEncryptionPasswordEnabled() && failedAttempts >= 5) { 
     final PowerManager powerManager = mContext.getSystemService(PowerManager.class); 
     powerManager.reboot(null); 

私はコンパイルエラーを取得:

frameworks/base/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java:409: 

エラー:クラスのコンテキスト内のメソッドgetSystemServiceは、与えられたタイプに適用することはできません。 最終PowerManagerのPowerManager = mContext.getSystemService(PowerManager.class); ^ 必要:見つかった文字列

:クラス

理由:実引数のクラスは、すべてのアイデアは、メソッド呼び出し変換

によって

文字列に変換することはできませんか?あなたの輸入にコンテキストを追加する必要が

if (mLockPatternUtils.isSeparateEncryptionPasswordEnabled() &&vfailedAttempts >= 5) { 
      final PowerManager powerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); 
      powerManager.reboot(null); 
    } 

:代わりにPowerManager.classを使用しての事前

+0

PowerManager.classの代わりにContext.POWER_SERVICEを使用できますか? – ApolloSoftware

答えて

1

でのおかげで、私はContext.POWER_SERVICE

それともただで行くと思います。もちろん

ターゲット電話が根ざしている場合:

Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c","reboot now"}); 

は十分であろう。

+0

今コンパイルしようとしています。興味深いことに、これは、働いていたAndroid MMコミットから選んだチェリーでしたが、LPではありませんでした。 –

+0

それは変です。上のコードはうまく見えますが、PowerManager.classとContext.POWER_SERVICEを使用できるはずです。私が調べることができるなら、あなたはなぜLPを使用していますか?あなたのデバイスの最新バージョンですか? – ApolloSoftware

+0

今度は教えてください:互換性のないタイプ final PowerManager powerManager = mContext.getSystemService(Context.POWER_SERVICE);必須:PowerManager が見つかりました:オブジェクト –

関連する問題