Код, который я использую ниже, предполагает переключение системного активного языка ввода / записи на французский, но это не так (То же самое для любого из установленных языков).
Я тестирую его на Nokia E7, Symbian Anna.
Я использую Symiban SDK S ^ 3.
В моем телефоне установлен французский язык.
После использования ActivateLanguageL () я проверяю, какой активный язык используется через CurrentLanguage (), и он возвращает мне французский, но на самом деле этого не происходит.
CPtiEngine* eng = CPtiEngine::NewL( ETrue );
CleanupStack::PushL( eng );
if ( eng->NumberOfLanguages() )
{
RArray<TInt> languages;
eng->GetAvailableLanguagesL( languages );
// see if French language is there in list of available input languages and if "yes", activate finnish input.
for(TInt i=0;i<languages.Count();i++)
{
if(languages[i] ==ELangFrench)
{
eng->ActivateLanguageL(ELangFrench,eng->InputMode());
MPtiLanguage* x = eng->CurrentLanguage();
CEikonEnv::InfoWinL(x->LocalizedName(), _L(""));
eng->CloseCurrentLanguageL();
}
}
languages.Close();
}
CleanupStack::Pop(eng);
delete eng;
Большое спасибо заранее.