Для MySQL вы можете напрямую помещать условия в функцию SUM()
, и она будет оценена как Boolean 0
или 1
, и вы можете иметь свой счет на основе ваших критериев, не используя IF/CASE
SELECT
company_name,
SUM(action = 'EMAIL')AS Email,
SUM(action = 'PRINT' AND pagecount = 1)AS Print1Pages,
SUM(action = 'PRINT' AND pagecount = 2)AS Print2Pages,
SUM(action = 'PRINT' AND pagecount = 3)AS Print3Pages
FROM t
GROUP BY company_name
DEMO
Это потому, что они используют Settings API
в игровых сервисах, как описано в ответе Commonsware, что немного сложно. Вам лучше использовать «старый» метод:
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
Приложение Google Maps использует то, что теперь доступно нам в качестве SettingsApi
SDK Play Services. Вы можете использовать SettingsApi
, чтобы узнать, может ли ваш желаемый LocationRequest
быть выполнен с использованием любых поставщиков местоположения. Если он не может быть выполнен, и Play Services думает, что пользователь может изменить это, вы можете попросить открыть диалоговое окно, в котором отображается экран Карты.
Использование SettingsApi
не особенно просто. Здесь пример приложения для этого. Использование ACTION_LOCATION_SOURCE_SETTINGS
, как было предложено в ответе Лоренсвуита, намного проще реализовать.