2016-08-27 19 views
2

親愛なるすべてのエキスパートContext.startServiceAsUser()はどこですか?

現在、ContextクラスでAPI startServiceAsUser()を使用する必要があるオープンソースのAndroidプロジェクト(wso2エージェント)を取得しています。ただし、アンドロイドスタジオはこのAPIを認識できません。このエラーを解決するにはどうすればよいですか?

+0

私はあなたのスタートが大好きです:) – Elltz

答えて

3

アンドロイドSDKの観点から公開APIではないため、そのAPIを呼び出すことはできません。これは、フレームワークの内部APIの一部です。一般的に、アプリはこれらのAPIを使用しないでください。なぜなら、これらのAPIは非表示になっているからです。

これを呼び出す場合は、リフレクションを使用する必要があります。しかし、そうする前に、あなたが絶対にstartServiceAsUser()を使用する必要があるかどうかを実際に評価してください。なぜなら、ほとんどのアプリはユーザー中心であり、これは単数ではないためです。

+0

Reflection APIだけでなく、Android SDKのAndroid android.jarを非表示のAPIに置き換えることができます。 WSO2の保守担当者は、このアプローチを使用することに決めました。私の返答はこちら:http://stackoverflow.com/a/41004248/1028256 – Mixaz