Soru & Cevap

hangi activity çalışıyor

09.10.2014 - 03:32

uygulamamamızda iki adet activity, bir adet servis olduğunu varsayalım.

sürekli çalışan servis üzerinden hangi activty'nin çalıştığını algılayabilir miyiz (benim iki activitm'den birisi, ya da onların dışında başka bir activity), algılayabiliyorsak basit bir örnek verebilir misiniz?

6 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user yesilce
yesilce
09.10.2014 - 07:25

Teşekkürler,

önerdiğin kodu aşağıdaki biçimde düzenleyerek amacıma ulaştım.

 

[code]ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
return taskInfo.get(0).topActivity.getClassName().toString();[/code]

Bu kodları kullanırken AndroidManifest dosyasından
<uses-permission android:name="android.permission.GET_TASKS"/>
iznini vermek gerekmekte.

picture-1372-1408467635.jpg
ahmtbrk
09.10.2014 - 04:16

[code]

public String getRunningActivityName(Context context) {
        ActivityManager am = (ActivityManager) context
                .getSystemService(android.content.Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
        String[] activityFullName = taskInfo.get(0).topActivity.getClassName()
                .split("\\.");
        String currentActivity = activityFullName[activityFullName.length - 1];
        return currentActivity;
    }

    public String getRunningActivityLongName(Context context) {
        ActivityManager am = (ActivityManager) context
                .getSystemService(android.content.Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
        return taskInfo.get(0).topActivity.getClassName();
    }

[/code]

aktif olan activitynin uzun ve kısa yolunu veren methodlar kullanabilirsin.

ahmet cavus
10.10.2014 - 08:57
kodların çalışması için android.permission.GET_TASKS izninin verilmesi gerekmekte. .