canStartActivity

True if this process may start an activity right now. On API 29+ Android silently drops activity starts from background apps — no exception, so a naive startActivity "succeeds" while nothing opens. The app qualifies when its process is exactly IMPORTANCE_FOREGROUND or IMPORTANCE_VISIBLE, or it holds SYSTEM_ALERT_WINDOW (Settings.canDrawOverlays).

A foreground service (importance 125, between the two) is deliberately not enough: it is not a background-launch exemption, so an MCP server running in one can't open activities unless the app is also visible or holds the overlay permission. Always true below API 29.