예제 #1
0
static void print_cur_config(struct android_app* android_app) {
	char lang[2], country[2];
	AConfiguration_getLanguage(android_app->config, lang);
	AConfiguration_getCountry(android_app->config, country);

	LOGV("Config: mcc=%d mnc=%d lang=%c%c cnt=%c%c orien=%d touch=%d dens=%d "
		"keys=%d nav=%d keysHid=%d navHid=%d sdk=%d size=%d long=%d "
		"modetype=%d modenight=%d",
		AConfiguration_getMcc(android_app->config),
		AConfiguration_getMnc(android_app->config),
		lang[0], lang[1], country[0], country[1],
		AConfiguration_getOrientation(android_app->config),
		AConfiguration_getTouchscreen(android_app->config),
		AConfiguration_getDensity(android_app->config),
		AConfiguration_getKeyboard(android_app->config),
		AConfiguration_getNavigation(android_app->config),
		AConfiguration_getKeysHidden(android_app->config),
		AConfiguration_getNavHidden(android_app->config),
		AConfiguration_getSdkVersion(android_app->config),
		AConfiguration_getScreenSize(android_app->config),
		AConfiguration_getScreenLong(android_app->config),
		AConfiguration_getUiModeType(android_app->config),
		AConfiguration_getUiModeNight(android_app->config));
}
예제 #2
0
파일: main.c 프로젝트: hongwd75/NDKBook_2nd
// Configurationを表示する
void displayConfiguration(struct engine* engine) {
    int idx = 0;
    // 画面の向き
    const char orientation_list[][32] = {
        "ORIENTATION_ANY",   // 未定義
        "ORIENTATION_PORT",  // Portrait
        "ORIENTATION_LAND",  // Landcape
        "ORIENTATION_SQUARE" // Square
    };
    // タッチスクリーン
    const char touchscreen_list[][32] = {
        "TOUCHSCREEN_ANY",    // 未定義
        "TOUCHSCREEN_NOTOUCH",// タッチスクリーンではない
        "TOUCHSCREEN_STYLUS", // (廃止)
        "TOUCHSCREEN_FINGER"  // タッチスクリーン
    };
    // キーボード
    const char keyboard_list[][32] = {
        "KEYBOARD_ANY",    // 未定義
        "KEYBOARD_NOKEYS", // キーはない
        "KEYBOARD_QWERTY", // QWERTY配列
        "KEYBOARD_12KEY"   // 12キー
    };
    // ナビゲーション
    const char navigation_list[][32] = {
        "NAVIGATION_ANY",   // 未定義
        "NAVIGATION_NONAV", // なし
        "NAVIGATION_DPAD",  // DPAD
        "NAVIGATION_TRACKBALL", // トラックボール
        "NAVIGATION_WHEEL"  // ホイール
    };
    // ソフトウェアキーボード
    const char keyshidden_list[][32] = {
        "KEYSHIDDEN_ANY", // 未定義
        "KEYSHIDDEN_NO",  // キーボードを隠すことができない
        "KEYSHIDDEN_YES", // キーボードを隠すことができる
        "KEYSHIDDEN_SOFT" // ソフト制御
    };
    // ナビゲーションキーの隠し方
    const char navhidden_list[][32] = {
        "NAVHIDDEN_ANY", // 未定義
        "NAVHIDDEN_NO",  // ナビゲーションキーを隠すことができる
        "NAVHIDDEN_YES"  // ナビゲーションキーを隠すことができない
    };
    // 画面サイズ
    const char screensize_list[][32] = {
        "SCREENSIZE_ANY",    // 未定義
        "SCREENSIZE_SMALL",  // 小さい
        "SCREENSIZE_NORMAL", // 標準
        "SCREENSIZE_LARGE",  // 大きい
        "SCREENSIZE_XLARGE"  // 特大
    };
    // ワイドスクリーンか
    const char screenlong_list[][32] = {
        "SCREENLONG_ANY",  // 未定義
        "SCREENLONG_NO",   // ワイドではない(QVGA,HVGA,VGAなど)
        "SCREENLONG_YES",  // ワイドである(WQVGA,WVGA,FWVGAなど)
    };
    // 接続状態
    const char uimodetype_list[][32] = {
        "UI_MODE_TYPE_ANY",    // 未定義
        "UI_MODE_TYPE_NORMAL", // 標準
        "UI_MODE_TYPE_DESK",   // DeskDocに接続中
        "UI_MODE_TYPE_CAR"     // CarDocに接続中
    };
    // UIモード(夜)タイプ
    const char uimodenight_list[][32] = {
        "UI_MODE_NIGHT_ANY", // 未定義
        "UI_MODE_NIGHT_NO",  // 昼モード
        "UI_MODE_NIGHT_YES"  // 夜モード
    };

    // 言語を取得(2文字が返る)
    char language[3] = { 0 };
    AConfiguration_getLanguage(engine->app->config, language);
    LOGI("Language:%s", language);
    // 国を取得(2文字が返る)
    char country[3] = { 0 };
    AConfiguration_getCountry(engine->app->config, country);
    LOGI("Country:%s", country);
    // 画面の向き
    idx = AConfiguration_getOrientation(engine->app->config);
    LOGI("Orientation:%s", orientation_list[idx]);
    // タッチスクリーン
    idx = AConfiguration_getTouchscreen(engine->app->config);
    LOGI("Touchscreen:%s", touchscreen_list[idx]);
    // 解像度
    int density = AConfiguration_getDensity(engine->app->config);
    LOGI("Density:%d", density);
    // キーボード
    idx = AConfiguration_getKeyboard(engine->app->config);
    LOGI("Keyboard:%s", keyboard_list[idx]);
    // ナビゲーション
    idx = AConfiguration_getNavigation(engine->app->config);
    LOGI("Navigation:%s", keyboard_list[idx]);
    // キーの隠し方
    idx = AConfiguration_getKeysHidden(engine->app->config);
    LOGI("KeysHidden:%s", keyshidden_list[idx]);
    // ナビゲーションキーの隠し方
    idx = AConfiguration_getNavHidden(engine->app->config);
    LOGI("NaviHidden:%s", navhidden_list[idx]);
    // SDK(API)バージョン
    int ver = AConfiguration_getSdkVersion(engine->app->config);
    LOGI("SdkVersion:%d", ver);
    // スクリーンサイズ
    idx = AConfiguration_getScreenSize(engine->app->config);
    LOGI("ScreenSize:%s", screensize_list[idx]);
    // ワイドスクリーンか
    idx = AConfiguration_getScreenLong(engine->app->config);
    LOGI("ScreenLong:%s", screenlong_list[idx]);
    // UIモードタイプ
    idx = AConfiguration_getUiModeType(engine->app->config);
    LOGI("UiModeType:%s", uimodetype_list[idx]);
    // UIモード(夜)タイプ
    idx = AConfiguration_getUiModeNight(engine->app->config);
    LOGI("UiModeNight:%s", uimodenight_list[idx]);
}