cordova APP的本地化无效

时间:2015-04-22 09:22:32

标签: android cordova localization

APP处于暂停状态。当我从最近的历史记录中选择应用程序(暂停状态到恢复状态)时,我正在更改手机的语言(本地化)。以下生命周期方法按以下顺序调用 的onDestroy 的onCreate 在onStart 的onResume 在onPause 的onStop 的onDestroy 但APP没有打开(视图没有出现)。 这里我给出了活动和android清单文件的源代码。 任何帮助表示赞赏?

public class CordovaExample extends DroidGap  {
     @Override
     public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          super.loadUrl("file:///android_asset/www/index.html");
          Log.i("onCreate Called","onCreate Called");
     }
     @Override
     protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        Log.i("OnStart Called","OnStart Called");
    }   
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Log.i("onResume Called","onResume Called");
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        Log.i("onPause Called","onPause Called "+Locale.getDefault().getLanguage());
    }
    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        Log.i("onStop Called","onStop Called");

    }
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Log.i("onDestroy Called","onDestroy Called");

    }
}

manifestfile:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.apache.cordova.rest"
    android:hardwareAccelerated="true"
    android:versionCode="1"
    android:versionName="1.0"
    android:windowSoftInputMode="adjustPan" >

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />

    <application
        android:hardwareAccelerated="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <activity
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
            android:name="org.apache.cordova.rest.CordovaRestClient"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

</manifest>

1 个答案:

答案 0 :(得分:0)

在cordova库项目中打开以下Java文件

框架/ SRC /组织/阿帕奇/科尔多瓦/ CordovaWebView.java

替换以下代码行

if (url.startsWith("file://") || url.startsWith("javascript:") || Config.isUrlWhiteListed(url)) 

 if (url.startsWith("file://") || url.startsWith("javascript:") || Config.isUrlWhiteListed(url)&& !url.equals("about:blank"))

现在工作正常