カスタム Launcher/HomeScreen アプリケーションの場合、それ自体をデフォルトの HomeScreen として設定するには、権限 SET_PREFERRED_APPLICATIONS が必要です。
PackageManager::addPreferredActivity()。
この問題(例)に関する StackOverflow スレッドを認識しており、このようなアクセス許可は OEM/Google 証明書で署名されたアプリにのみ付与されます。
GoLauncher は、自身をデフォルトのホーム画面アプリとして自動的に設定します。SET_PREFERRED_APPLICATIONS 権限も取得しているようです(権限リストについては、こちらを参照してください)。
どのように?が質問です。