2013-06-01 5 views
0

Первый вопрос:Абстрактный класс расширить тему

Как мы можем использовать

ActivityManager activity =(ActivityManager)getSystemService(ForegroundApp.ACTIVITY_SERVICE)

А также getPackageManager в классе, который расширяет тему ?? Я пытаюсь получить имя пакета Forefront, его время начала и время окончания на переднем плане. Я знаю, что это основанный на контекстах, но мне нужно запустить это в потоке.

Второй вопрос: Как можно назвать абстрактный класс, который расширяет поток в сервисе?

Этот поток работает только при включенном экране. Итак, я буду регистрироваться для включения и выключения экрана в сервисе. В этой службе, когда экран включен, мне нужно вызвать этот поток.

Пример:

abstract class A extends Thread { 

    abstract method met(); 

    public void run() { 
     //Find out foreground's app name and its start and end time. 
    } 
} 

    class B extends service { 
    //Here i need to call A. 
} 

ответ

0

Все, что вам нужно сделать, это просто передать ссылку на свою активность в первом случае к классу А, а также ссылку на класс А классу B. Самый простой способ, чтобы пройти мимо конструктора ,

abstract class A extends Thread { 
    protected Activity activity; 

    public A(Activity activity) { 
     this.activity = activity; 
    } 

    abstract method met(); 

    public void run() { 
     // activity.yourmethods() 
     //Find out foreground's app name and its start and end time. 
    } 
} 
+0

Большое спасибо, я буду реализовывать это и пусть и KNW .. – madhu

+0

Можете ли вы направить меня, чтобы начать эту абстрактную нить ?? Не используйте обычный способ, так как это абстрактный, он не может быть создан. – madhu

+0

Вам нужно расширить свой абстрактный поток (создав новый класс) и реализовать абстрактные методы, например met(). Кроме того, необходимо ли A-класс быть абстрактным? –

Смежные вопросы