-1

私は、ルート化されたデバイスでのみ機能するいくつかの機能を持つ 1 つのアプリケーションに取り組んでいます。

ほぼ完了し、ルート化されたデバイスでもアプリケーションが動作します。ただし、一部のデバイスは SuperSU を使用しており、この場合、アプリケーションは正しく動作していません。

また、カスタム ROM 開発者と調査して話し合いましたが、アプリは SuperSU パーミッションを要求していませんが、要求する必要があると言っています。

同じトピックについて多くの調査を行いましたが、それを達成するための適切な方法が得られませんでした。

4

1 に答える 1

0

これに対する解決策を見つけました。

SuperSUの下のアプリには 3 つのオプションがありますSettings Tab > Default Access

http://prntscr.com/oyzeq8

  1. プロンプト : アプリは必要なときにいつでも許可を求めることを意味します。
  2. Grant : これは、SuperSU が必要に応じてアプリのアクセス許可を自動的に付与することを意味します。
  3. Deny : これは、SuperSU が必要に応じてアプリの許可を自動的に拒否することを意味します。

したがって、2 つのケースがあります。

1 . SuperSUアプリのデフォルトで「許可」が設定されている場合、アプリはアプリケーションで許可をSettings Tab > Default Access求めません。SuperSU

2 . SuperSUアプリのデフォルトで「Prompt」が設定されている場合Settings Tab > Default Access、アプリは必要に応じてSuperSU許可を求めます。

アプリの起動時に許可を求めるためにSuperSU、RootTools を使用して SuperSU アクセスを確認しました。

  1. https://github.com/Stericson/RootTools
  2. https://code.google.com/archive/p/roottools/wikis/Usage.wiki

そのため、RootTools を使用して単純な条件でルート アクセスを確認しました。

if (RootTools.isAccessGiven())
    Toast.makeText(this, "SU Permission Granted", Toast.LENGTH_SHORT).show();
else
    Toast.makeText(this, "SU Permission Denied", Toast.LENGTH_SHORT).show();

そのため、 が実行されるたびRootTools.isAccessGiven()に、ポップアップが自動的に開き、アプリの SuperSU パーミッションが要求されます。後で、SuperSU アプリケーションからも変更できます。

これは私が見つけて実装したものです。現在、すべてが正常に機能しています。

ありがとうございました

于 2019-08-29T06:50:49.310 に答える