親愛なるすべてのエキスパートContext.startServiceAsUser()はどこですか?
現在、ContextクラスでAPI startServiceAsUser()を使用する必要があるオープンソースのAndroidプロジェクト(wso2エージェント)を取得しています。ただし、アンドロイドスタジオはこのAPIを認識できません。このエラーを解決するにはどうすればよいですか?
親愛なるすべてのエキスパートContext.startServiceAsUser()はどこですか?
現在、ContextクラスでAPI startServiceAsUser()を使用する必要があるオープンソースのAndroidプロジェクト(wso2エージェント)を取得しています。ただし、アンドロイドスタジオはこのAPIを認識できません。このエラーを解決するにはどうすればよいですか?
アンドロイドSDKの観点から公開APIではないため、そのAPIを呼び出すことはできません。これは、フレームワークの内部APIの一部です。一般的に、アプリはこれらのAPIを使用しないでください。なぜなら、これらのAPIは非表示になっているからです。
これを呼び出す場合は、リフレクションを使用する必要があります。しかし、そうする前に、あなたが絶対にstartServiceAsUser()を使用する必要があるかどうかを実際に評価してください。なぜなら、ほとんどのアプリはユーザー中心であり、これは単数ではないためです。
Reflection APIだけでなく、Android SDKのAndroid android.jarを非表示のAPIに置き換えることができます。 WSO2の保守担当者は、このアプローチを使用することに決めました。私の返答はこちら:http://stackoverflow.com/a/41004248/1028256 – Mixaz
私はあなたのスタートが大好きです:) – Elltz