<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # [android]() Native.js for Android封裝一條通過JS語法直接調用Native Java接口通道,通過plus.android可調用幾乎所有的系統API。 ### 方法: - [importClass](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.importClass): 導入Java類對象 - [newObject](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.newObject): 創建實例對象 - [getAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.getAttribute): 獲取對象(類對象/示例對象)的屬性值 - [setAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.setAttribute): 設置對象(類對象/示例對象)的屬性值 - [invoke](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.invoke): 調用對象(類對象/示例對象)的方法 - [implements](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.implements): 實現Interface的方法 - [runtimeMainActivity](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.runtimeMainActivity): 獲取應用主Activity實例對象 - [currentWebview](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.currentWebview): 獲取當前Webview窗口對象的native層android.webkit.Webview實例對象 ### 對象: - [ClassObject](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.ClassObject): Java類對象 - [InstanceObject](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.InstanceObject): Java實例對象 ### 權限: permissions ~~~ "Invocation": { "description": "Javascript橋" } ~~~ # [importClass]() 導入Java類對象 ~~~ ClassObject plus.android.importClass( String classname ); ~~~ ### 說明: 導入類對象后,就可以通過.操作符直接調用對象(類對象/示例對象)的常量和方法。 注意:導入類對象將會消耗較多的系統資源,通常不應該導入過多的類對象。 ### 參數: - classname: *( String ) 必選 *要導入的Java類名,使用"."分割命名空間 在類名中可以使用"*"來導入指定命名空間下的所有類對象; 如果指定的類名無效,則導入類對象失敗; ### 返回值: ClassObject : Java類對象,如果導入類對象失敗則返回null。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 導入android.content.Intent類對象 var Intent = plus.android.importClass("android.content.Intent"); // 導入后可以使用new方法創建類的示例對象 var intent=new Intent(); }, false ); </script> </head> <body> </body> </html> ~~~ # [newObject]() 創建實例對象 ~~~ void plus.android.newObject( String classname, Object..args ); ~~~ ### 參數: - classname: *( String ) 必選 *要創建實例對象的類名,使用"."分割命名空間 如果指定的類名不存在,則創建對象失敗,不會拋出異常。 - args: *( Object ) 可選 *創建實例對象的構造參數 如果指定的構造參數類型不區配,則創建對象失敗,不會拋出異常。 ### 返回值: InstanceObject : Android實例對象,如果創建對象失敗則返回null。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 直接創建android.content.Intent類的示例對象 var intent = plus.android.newObject("android.content.Intent"); }, false ); </script> </head> <body> </body> </html> ~~~ # [getAttribute]() 獲取對象(類對象/示例對象)的屬性值 ~~~ Object plus.android.getAttribute( Object obj, String name ); ~~~ ### 參數: - obj: *( Object ) 必選 *要獲取屬性值的對象,也可以是類的名稱 如果obj為類對象,則獲取的是類的靜態屬性值;如果obj為實例對象,則獲取的是實例的屬性值; 如果obj為字符串類型,其值必須是類的名稱,則獲取是類的靜態屬性值; - name: *( String ) 必選 *要獲取的屬性名稱 如果指定的屬性名稱不存在,則獲取屬性失敗,不會拋出異常。 ### 返回值: Object : 屬性值對象,如果獲取屬性失敗則返回null。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 通過以下方法獲取內存信息 var Context = plus.android.importClass("android.content.Context"); var ActivityManager = plus.android.importClass("android.app.ActivityManager"); var mi = new ActivityManager.MemoryInfo(); var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE); activityService.getMemoryInfo(mi); // 獲取mi對象的availMem屬性值 memoryInfo = plus.android.getAttribute(mi,"availMem"); }, false ); </script> </head> <body> </body> </html> ~~~ # [setAttribute]() 設置對象(類對象/示例對象)的屬性值 ~~~ void plus.android.setAttribute( Object obj, String name, Object value ); ~~~ ### 參數: - obj: *( Object ) 必選 *要設置屬性值的對象,也可以是類的名稱 如果obj為類對象,則設置的是類的靜態屬性值;如果obj為實例對象,則設置的是實例的屬性值; 如果obj為字符串類型,其值必須是類的名稱,則設置是類的靜態屬性值; - name: *( String ) 必選 *要設置的屬性名稱 如果指定的屬性名稱不存在,則操作不生效,不會拋出異常。 - value: *( Object ) 必選 *要設置的屬性值 如果指定的屬性值類型不區配,則操作不生效,不會拋出異常。 ### 返回值: void : 無 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~ # [invoke]() 調用對象(類對象/示例對象)的方法 ~~~ Object plus.android.invoke( Object obj, String name, Object... args ); ~~~ ### 參數: - obj: *( Object ) 必選 *調用方法所屬的對象,也可以是類的名稱 如果obj為類對象,則調用的是類的靜態方法;如果obj為實例對象,則調用的是實例的方法; 如果obj為字符串類型,其值必須是類的名稱,則調用的是類的靜態方法; - name: *( String ) 必選 *要調用的方法名稱 方法名稱中使用":"分隔參數。 如果指定的方法名稱不存在,則調用方法失敗,不會拋出異常。 - args: *( Object ) 可選 *調用方法的參數 如果指定的參數數目或類型不區配,則調用方法失敗,不會拋出異常。 ### 返回值: Object : 調用方法的返回值,如果調用方法失敗,則返回undefined。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 調用native API彈出提示框   // 由于Builder類是android.app.AlertDialog類的內部類,這里需要使用$符號分割   var dlg = plus.android.newObject("android.app.AlertDialog$Builder",mainActivity);   // 設置提示框標題   plus.android.invoke(dlg,"setTitle","自定義標題");   // 設置提示框內容   plus.android.invoke(dlg,"setMessage","使用NJS的原生彈出框,可自定義彈出框的標題、按鈕");   // 設置提示框按鈕   plus.android.invoke(dlg,"setPositiveButton","確定(或者其他字符)",null);   // 顯示提示框   plus.android.invoke(dlg,"show"); }, false ); </script> </head> <body> </body> </html> ~~~ # [implements]() 實現Interface的方法 ~~~ Object plus.android.implements( String name, Object obj ); ~~~ ### 參數: - name: *( String ) 必選 *Interface的名稱,也可以是自定的字符串名稱 如果name為自定的字符串名稱,則自定義一個Interface; - obj: *( Object ) 必選 *JSON對象類型,Interface實現方法的定義 JSON對象中key值為Interface方法的名稱;value值為Function。 ### 返回值: InstanceObject : Interface實例對象。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~ # [runtimeMainActivity]() 獲取應用主Activity實例對象 ~~~ InstanceObject plus.android.runtimeMainActivity(); ~~~ ### 參數: 無 ### 返回值: InstanceObject : 主Activity實例對象。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 獲取應用主Activity實例對象 var main = plus.android.runtimeMainActivity(); }, false ); </script> </head> <body> </body> </html> ~~~ # [currentWebview]() 獲取當前Webview窗口對象的native層android.webkit.Webview實例對象 ~~~ InstanceObject plus.android.currentWebview(); ~~~ ### 參數: 無 ### 返回值: InstanceObject : Webview窗口對象的native層android.webkit.Webview實例對象,如果調用方法失敗,則返回null。 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>iOS Javascript Bridge</title> <script type="text/javascript"> var nwv=null; // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API // 獲取當前Webview窗口對象的native層實例對象 nwv = plus.android.currentWebview(); }, false ); </script> </head> <body> </body> </html> ~~~ # [ClassObject]() Java類對象 ~~~ interface ClassObject { // ... function Object plusGetAttribute( String name ); function Object plusSetAttribute( String name, Object value ); // ... } ~~~ ### 說明: Java類對象,可通過其屬性獲取類的常量,可通過方法來操作類的靜態變量和方法,也通過new方法來創建類的實例對象。 對于類的常量,則直接通過.后面跟隨常量名稱調用即可。 ### 方法: - [plusGetAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.ClassObject.plusGetAttribute): 獲取Java類對象的靜態屬性 - [plusSetAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.ClassObject.plusSetAttribute): 設置Java類對象的靜態屬性 # [plusGetAttribute]() 獲取Java類對象的靜態屬性 ~~~ Object clsobj.plusGetAttribute( String name ); ~~~ ### 參數: - name: *( String ) 必選 *要獲取的靜態屬性名稱 如果指定的屬性名稱不存在,則返回null。 ### 返回值: Object : 靜態屬性實例對象 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~ # [plusSetAttribute]() 設置Java類對象的靜態屬性 ~~~ void clsobj.plusSetAttribute( String name, Object value ); ~~~ ### 參數: - name: *( String ) 必選 *要設置的靜態屬性名稱 如果指定的屬性名稱不存在,則操作不生效,不會拋出異常。 - value: *( Object ) 必選 *要設置的靜態屬性值 如果指定的屬性值類型不區配,則操作不生效,不會拋出異常。 ### 返回值: void : 無 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~ # [InstanceObject]() Java實例對象 ~~~ interface InstanceObject { // ... function Object plusGetAttribute( String name ); function Object plusSetAttribute( String name, Object value ); // ... } ~~~ ### 說明: Java實例對象,可通過其方法來操作示例的變量和方法。 注意:必須通過plusGetAttribute()方法讀取示例對象的屬性值,通過plusSetAttribute()方法設置示例對象的屬性值。 ### 方法: - [plusGetAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.InstanceObject.plusGetAttribute): 獲取Java實例對象的屬性 - [plusSetAttribute](http://www.dcloud.io/docs/api/zh_cn/android.shtml#plus.android.InstanceObject.plusSetAttribute): 設置Java示例對象的屬性 # [plusGetAttribute]() 獲取Java實例對象的屬性 ~~~ Object insobj.plusGetAttribute( String name ); ~~~ ### 參數: - name: *( String ) 必選 *實例屬性的名稱 如果指定的屬性名稱不存在,則返回null。 ### 返回值: Object : 屬性的實例對象 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~ # [plusSetAttribute]() 設置Java示例對象的屬性 ~~~ void insobj.plusSetAttribute( String name, Object value ); ~~~ ### 參數: - name: *( String ) 必選 *要設置的屬性名稱 如果指定的屬性名稱不存在,則操作不生效,不會拋出異常。 - value: *( Object ) 必選 *要設置的屬性值 如果指定的屬性值類型不區配,則操作不生效,不會拋出異常。 ### 返回值: void : 無 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Android Native.js</title> <script type="text/javascript"> // 監聽plusready事件 document.addEventListener( "plusready", function(){ // 擴展API加載完畢,現在可以正常調用擴展API }, false ); </script> </head> <body> </body> </html> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看