0

サービスクラスにインライン化されたタイマータスクがあり、サービスクラスにパブリックメソッドがある場合..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);
}
4

1 に答える 1

1

uiCheckTaskがの内部クラスである場合はService、次の方法でパブリックメソッドを呼び出すことができます。

(MyService.this).launchSecurity()

MyServiceこれはサービスのクラス名であり、インスタンスやローカル変数ではないことに注意してください。

于 2012-10-23T20:48:38.110 に答える