我如何从类中调用服务中的公共方法

时间:2012-10-23 20:10:13

标签: android android-service

如果我在服务类中内联了一个计时器任务,并且Service类有一个公共方法..我如何从TimerTask中调用服务类中的公共方法?

 class uiCheckTask extends TimerTask {
        Boolean secDialog = false;
        NavOverrideService myService;

        public void run() {
            try {
                ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
                List<ActivityManager.RunningAppProcessInfo> processList = am.getRunningAppProcesses();

               String cProcess = processList.get(0).processName;

               if (!cProcess.equals("com.example.services_test") && !secDialog) {
                  // myService.launchSecurity(); /// HELP HERE!
               } else {

               }
            } catch(Exception ex) {

            }
        }
    }

launchSecuity:

public void launchSecurity(){
    Log.v("LAUNCHING", "((((((((((((((((((((SECURITY)))))))))))))))))");
    Intent intent = new Intent(this, SecurityService.class);
    startService(intent);
}

1 个答案:

答案 0 :(得分:1)

如果uiCheckTask是您Service的内部类,那么您可以通过

调用公共方法
(MyService.this).launchSecurity()

请注意MyService是您服务的类名,而不是实例或本地变量。