Мне интересно, как проверить, открыто ли мое приложение и в настоящее время видно пользователю при получении onMessage()
из GCM. Сначала я просто использовал свой собственный boolean isVisible
, но потом понял, что это ненадежно, потому что, если приложение не открыто, объект, который я использую для доступа к этому флагу, null
. Хотя это само по себе можно было бы использовать, чтобы узнать, открыто ли приложение, это кажется немного беспорядочным. Есть ли способ в Android с системного уровня, чтобы как-то проверить, открыто ли приложение в данный момент, и если пользователь просматривает приложение? Имейте в виду, что приложение может быть запущено, но не видно, потому что пользователь недавно нажал кнопку "домой", отправив его на задний план.
@Override
protected void onMessage(Context arg0, Intent arg1) {
String turn = intent.getExtras().getString("turn");
if (turn.equals("yours"){
if (/*app is open*/){ <------------------ what can go here?
// dont generate a notification
// display something in the game instead
}
else{
// generate notification telling player its their turn
}
}
}