2015-02-09 22 views
1

當在android中打開另一個應用程序特定activity時,我會調用Broadcast receiver。例如,當Navigation頁面中的Map應用程序安裝在android手機中,當打開並顯示導航時,我想顯示Toast,顯示「正在顯示導航」。那麼我怎麼能做到這一點?當另一個應用程序特定活動打開時,廣播接收器會調用

+0

也有一些是被稱爲AccessibilityService這將有助於你才達到你的目標,但它具有由用戶從輔助下設置爲啓用。 http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html – Muthu 2015-02-09 09:41:05

回答

-1

正如我的瞭解,你需要表現出對onRecieve Fuunction舉杯

Toast.makeText(context,"your text",2000).show(); 
//context is input parameter from onRecieve function 
0

這下面的代碼將幫助您識別WINDO改變事件

public class AccessibilityEventService 
     extends AccessibilityService { 

    @Override 
    public void onAccessibilityEvent(AccessibilityEvent event) { 
     if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) 
      Log.i("op",event.getPackageName()); 
    } 

} 

,但它已被從用戶啓用設置下的輔助功能。 或者您可以使用下面的代碼檢查的時間間隔目前頂級的活動

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 

// get the info from the currently running task 
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 

Log.d("topActivity", "CURRENT Activity ::" 
     + taskInfo.get(0).topActivity.getClassName()); 

ComponentName componentInfo = taskInfo.get(0).topActivity; 
    componentInfo.getPackageName(); 
相關問題