Секреты Android

Сегодня ковырялся в коде гугла и напоролся на интересный кусок кода. Оказывается у гугла предусмотрена возможность юзеру просмотреть дополнительную информацию о телефоне с помощью специальных кодов.
Вот эти строки кода:

static boolean handleSecretCode(Context context, String input) {
        // Secret codes are in the form *#*#<code>#*#*
        int len = input.length();
        if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
            Intent intent = new Intent(Intents.SECRET_CODE_ACTION,
                    Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
            context.sendBroadcast(intent);
            return true;
        }
        return false;
    }

Как видим при получении определенной комбинации символов из поля ввода телефонного номера стандартной телефонной звонилки, посылается бродкаст с вложенным интентом. Мне стало интересно что это такое и немного погуглив, я нашел статью про это явление :)
Как показано у автора, есть в стандартном наборе программ те, которые слушают и обрабатывают эти бродкаст посылки.
Можете сами проверить на своем телефоне:
1. откройте Dialer
2. введите *#*#4636#*#*
3. наслаждайтесь тайнами Android
Проверил на своем Android G1. Вот что показало



Таким образом можно попробовать встроить и в свое приложение такую скрытую функцию. Для этого надо в манифесте добавить примерно такой же код, только изменить код на ваш.
<receiver android:name="TestingSettingsBroadcastReceiver">
     <intent-filter>
          <action android:name="android.provider.Telephony.SECRET_CODE" />
          <data android:scheme="android_secret_code" android:host="4636" />
     </intent-filter>
</receiver>
  • +2
  • 8 июля 2010, 06:30
  • Bosicc

Комментарии (1)

RSS свернуть / развернуть
+
0
Здоворо. На моем N1 выдает заметно больше информации, включая наиемнование WiFi точек, статистику использования батареи, статистику времени работы приложений.
avatar

Barmaleikin

  • 30 июля 2010, 01:48

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.