Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plugins Phonegap-更新版本pg插件屏幕方向?_Plugins_Cordova_Screen_Orientation - Fatal编程技术网

Plugins Phonegap-更新版本pg插件屏幕方向?

Plugins Phonegap-更新版本pg插件屏幕方向?,plugins,cordova,screen,orientation,Plugins,Cordova,Screen,Orientation,插件链接: 我试图更新它,但根本不起作用。以下是我的更新版本(Java): package com.tsukurusha.phonegap.plugins; 导入org.json.JSONArray; 导入android.app.Activity; 导入android.content.pm.ActivityInfo; 导入org.apache.cordova.api.CordovaPlugin; 导入org.apache.cordova.api.PluginResult; 公共类ScreenOr

插件链接:

我试图更新它,但根本不起作用。以下是我的更新版本(Java):

package com.tsukurusha.phonegap.plugins;
导入org.json.JSONArray;
导入android.app.Activity;
导入android.content.pm.ActivityInfo;
导入org.apache.cordova.api.CordovaPlugin;
导入org.apache.cordova.api.PluginResult;
公共类ScreenOrientation扩展了CordovaPlugin{
//指http://developer.android.com/reference/android/R.attr.html#screenOrientation
私有静态最终字符串UNSPECIFIED=“UNSPECIFIED”;
私有静态最终字符串横向=“横向”;
私有静态最终字符串肖像=“肖像”;
私有静态最终字符串USER=“USER”;
私有静态最终字符串BEHIND=“BEHIND”;
专用静态最终字符串传感器=“传感器”;
专用静态最终字符串NOSENSOR=“NOSENSOR”;
专用静态最终字符串传感器\u横向=“传感器横向”;
专用静态最终字符串传感器\u纵向=“传感器纵向”;
私有静态最终字符串REVERSE_scape=“reverseLandscape”;
私有静态最终字符串REVERSE\u-grait=“reversePortrait”;
专用静态最终字符串FULL\u SENSOR=“fullSensor”;
公共PluginResult执行(字符串操作、JSONArray参数、字符串回调ID){
if(action.equals(“set”)){
字符串方向=args.optString(0);
Activity=(Activity)this.cordova.getActivity();
if(方向等于(未指定)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u未指定);
}else if(方向等于(横向)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u横向);
}else if(方向等于(纵向)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u-ORIENTATION\u-Picture);
}else if(方向等于(用户)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u用户);
}else if(方向等于(后面)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u后面);
}else if(方向等于(传感器)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u传感器);
}else if(方向等于(传感器)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u NOSENSOR);
}else if(方向等于(传感器_横向)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u SENSOR\u横向);
}else if(方向等于(传感器_纵向)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u SENSOR\u Graphic);
}else if(方向等于(反向){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u REVERSE\u横向);
}else if(方向等于(倒像)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u REVERSE\u Graphic);
}else if(方向等于(满_传感器)){
activity.setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u FULL\u SENSOR);
}
返回新的PluginResult(PluginResult.Status.OK);
}否则{
返回新的PluginResult(PluginResult.Status.INVALID_ACTION);
}
}
}
JS文件:

var screenOrientation=function(){}
screenOrientation.prototype.set=函数(str、success、fail){
cordova.exec(成功、失败、“屏幕定位”、“设置”、[str]);
};
navigator.screenOrientation=新建screenOrientation();

脚本的执行根本不会产生任何错误消息,所以我不知道出了什么问题。感谢您的帮助。

因此,我设法更新了此代码以与cordova 2.3.0配合使用(尚未测试与较新版本的cordova的兼容性),请享受:

爪哇:

JS:

您还应该添加到res/xml/config.xml

<plugin name="ScreenOrientation" value="org.apache.cordova.plugin.ScreenOrientation" />

        //wait for cordova to load
        window.addEventListener("load",function(){
            document.addEventListener("deviceready",phonegapReady,false)
        });


        function phonegapReady(){

            //once cordova has loaded
            var screenOrientation = function() {}
            screenOrientation.prototype.set = function(str, success, fail) {
                cordova.exec(null, null, "ScreenOrientation", "set", [str]);
            };
            window.screenOrientation = new screenOrientation();

            //To change screen orientation use
            window.screenOrientation.set("landscape");
        };
<plugin name="ScreenOrientation" value="org.apache.cordova.plugin.ScreenOrientation" />