9

Tizen でリージョンの値を取得するネイティブ アプリケーションを c で作成したいと考えています。コンパイルされた C コードは Tizen 電話で実行する必要があり、言語地域の値を取得する必要があります。Tizenソースから取得したコールバック関数は

int app_cb_broker_appcore_region_changed(void *data)
{
    app_region_format_changed_cb region_changed_cb;

    region_changed_cb = app_context.callbacks->region_format_changed;

    if (region_changed_cb != NULL)
    {
            region_changed_cb(app_context.user_data);
    }

    return 0;
}

この関数を使用して現在の地域の値を取得する方法は?

4

1 に答える 1

1

Tizen には詳しくありませんが、コードを見る限り、コールバック関数ポインターの構造体へのポインターである属性 ( callbacks ) を持つ構造体変数 ( app_context ) があります。これらの関数ポインターの 1 つがregion_format_changedです。そのため、関数を定義してそのポインターに渡す必要があります。これにより、関数が呼び出され (戻って)、渡されたパラメーターを処理できるようになります ( app_context.user_data )。

例えば。

ステップ 1. コールバック関数を定義して記述する

void my_region_changed_cb(typeof(app_context.user_data) data)
{
     //The code of your handler here
}

ステップ 2. 初期化コードのどこかにコールバック属性を設定します。

//...
app_context.callbacks->region_format_changed = (&my_region_changed_cb);
//...

それが役に立てば幸い。

于 2012-10-26T15:36:01.757 に答える