##環境
android studio 3.14
api level 23 (android 6.0)
windows10 pro
特定のサービスアプリが起動しているかどうかを判定する関数をそのまま写経しました。(一番真下に表示しています)
contextのところが赤線になり、下記のようにエラーが生じます。
ActivityManager activityManager = (ActivityManager) this.context.getSystemService(ACTIVITY_SERVICE); //エラー cannot resolve symbol 'context'
上のくだりですが、
ActivityManager のインスタンスactivityManager を宣言しているのと
getSystemService(ACTIVITY_SERVICE);はサービスアプリ状態を調べる関数
ということが分かっているのですが、
contextと(ActivityManager型) にキャストしたもの?のところの意味が分かりません。
エラーを取り払う方法を教えてください。
import android.app.ActivityManager; import java.util.List; import static android.content.Context.ACTIVITY_SERVICE; public class ServiceChecker { public boolean isActiveService(String serviceClassName) { ActivityManager activityManager = (ActivityManager) this.context.getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> runningServicesInfo = activityManager.getRunningServices(Integer.MAX_VALUE); for (ActivityManager.RunningServiceInfo runningServiceInfo : runningServicesInfo) { if (runningServiceInfo.service.getClassName().equals(serviceClassName)) { return true; } } return false; } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。