我试图在运行时更改应用程序的语言环境。在API级别24以下的Andorid中,它可以正常工作。但是在API级别24或更高版本中,布局方向不会根据语言环境而变化。下面是在运行时更改语言环境的代码。我使用了如下的LocaleHelper类
public class LocaleHelper {
private static final String SELECTED_LANGUAGE = "Locale.Helper.Selected.Language";
public static Context onAttach(Context context) {
String lang = getPersistedData(context, Locale.getDefault().getLanguage());
return setLocale(context, lang);
}
public static Context onAttach(Context context, String defaultLanguage) {
String lang = getPersistedData(context, defaultLanguage);
return setLocale(context, lang);
}
public static String getLanguage(Context context) {
return getPersistedData(context, Locale.getDefault().getLanguage());
}
public static Context setLocale(Context context, String language) {
persist(context, language);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return updateResources(context, language);
}
return updateResourcesLegacy(context, language);
}
private static String …Run Code Online (Sandbox Code Playgroud) android locale localization android-layout android-7.0-nougat
我已经关注了PJSIP教程,并且我已经成功构建了apjsua示例应用程序.
当我尝试通过+ a添加帐户时,它会向我询问Sip Url,注册商网址,Auth Realm,用户名,密码
我进入了
之后它给了我以下错误
10-17 19:57:27.165: I/apjsua(920): 19:57:27.165 sip_resolve.c ...Failed to resolve '122.252.232.532.5'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.174: I/apjsua(920): 19:57:27.174 tsx0x223a5c ...Failed to send Request msg REGISTER/cseq=54907 (tdta0x1eb9a0)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.185: I/apjsua(920): 19:57:27.185 pjsua_acc.c .....SIP registration failed, status=502 (gethostbyname() has returned error (PJ_ERESOLVE))
10-17 19:57:27.199: I/apjsua(920): 19:57:27.199 pjsua_acc.c .....Scheduling re-registration retry for acc 2 in 6 seconds..
10-17 …Run Code Online (Sandbox Code Playgroud)