2

私のアプリケーションは、ユーザーにルートアクセスを許可して、システム機能(NFC)へのアクセスを許可するオプションを提供します。デフォルトでは、rootを要求することはありません。

それで、許可が与えられた後、私はそれがうまくいくはずだと思いました、しかし私はまだ恐ろしいです:

08-10 22:06:49.320: W/System.err(9421): Caused by: java.lang.SecurityException: WRITE_SECURE_SETTINGS permission required: Neither user 10174 nor current process has android.permission.WRITE_SECURE_SETTINGS.

エラー。私は何かが足りないのですか?私はWRITE_SECURE_SETTINGS許可を求めているので、それはできません。

面白いことに、NFCの有効化/無効化が機能していましたが、新しいRomをインストールした後も、このエラーが発生し続けます。4.0.3から4.0.4に更新されましたが、私が知る限り、問題のコードに変更はありません...何かアイデアはありますか?

4

2 に答える 2

2

私は何かが足りないのですか?

WRITE_SECURE_SETTINGS許可がありません。

WRITE_SECURE_SETTINGS権限を求めているので、それはできません。

AFAIK、rootであることは、直接、権限とは何の関係もありません。保持するWRITE_SECURE_SETTINGSには、アプリがファームウェアに署名したのと同じ署名証明書で署名されている、システムパーティションにインストールされている必要があります。ルートであることはそれらのことのどちらでもありません。

于 2012-08-10T23:01:26.537 に答える
0

アプリをrootとして実行できる可能性があります。たとえば、次のWRITE_SECURE_SETTINGS permission requiredコマンドを実行するとエラーが発生しました。

String output = ProcessUtils.runProcess(MainService.this, "wm", "overscan", "0,0,10,10");

しかし、私は(ルート化されたデバイスで)問題を回避しました:

String output = ProcessUtils.runProcess(MainService.this, "su", "0", "sh", "-c", "wm overscan 0,0,10,10");
于 2018-09-30T00:06:10.913 に答える