2017-02-24 103 views
0

我正在使用cordova-plugin-file-transfer和插件cordova-plugin-file-opener2
我可以下載APK,但我一直在運行到這個錯誤不斷時:Cordova - fileOpener2 - 未找到活動:未找到活動處理意圖

錯誤狀態: - :未發現活動時間:9錯誤消息無活動 處理意向{行動= android.intent.action.VIEW DAT =內容:// IO .cordova.myappd06b01.opener.provider/external_files/Android/data/io.cordova.myappd06b01/files/someapp.apk typ = application/vnd.android.package-archive flg = 0x40000000}

var targetPath = encodeURI(cordova.file.externalCacheDirectory + app_name); 
var options = {}; 
var args = { 
    name: app_name, 
    url: event.url, 
    targetPath: targetPath, 
    options: options 
}; 

downloadReceipt(args); 

function downloadReceipt(args) { 

var fileTransfer = new FileTransfer(); 
var uri = encodeURI(args.url); 
      fileTransfer.download(
       uri, 
       args.targetPath, 
       function (entry) { 
        var pathToFile = cordova.file.externalCacheDirectory + args.name; 
        window.resolveLocalFileSystemURL(pathToFile, function (entry) { 
         cordova.plugins.fileOpener2.open(
          entry.toURL(), 
          'application/vnd.android.package-archive', { 
           error: function (e) { 
            console.log('Error status: ' + e.status + ' - Error message: ' + e.message); 
           }, 
           success: function() { 
            console.log('file opened successfully'); 
           } 
          } 
         ); 
        }, function (e) { 
         console.log('File Not Found'); 
        }); 
       }, 
       function (error) { 
        console.log("download error source " + error.source); 
        console.log("download error target " + error.target); 
        console.log("upload error code" + error.code); 
       }, 
       true, 
       args.options 
    ); 
} 
var targetPath = encodeURI(cordova.file.externalCacheDirectory + app_name); 
var options = {}; 
var args = { 
    name: app_name, 
    url: event.url, 
    targetPath: targetPath, 
    options: options 
}; 

downloadReceipt(args); 

function downloadReceipt(args) { 

var fileTransfer = new FileTransfer(); 
var uri = encodeURI(args.url); 
      fileTransfer.download(
       uri, 
       args.targetPath, 
       function (entry) { 
        var pathToFile = cordova.file.externalCacheDirectory + args.name; 
        window.resolveLocalFileSystemURL(pathToFile, function (entry) { 
         cordova.plugins.fileOpener2.open(
          entry.toURL(), 
          'application/vnd.android.package-archive', { 
           error: function (e) { 
            console.log('Error status: ' + e.status + ' - Error message: ' + e.message); 
           }, 
           success: function() { 
            console.log('file opened successfully'); 
           } 
          } 
         ); 
        }, function (e) { 
         console.log('File Not Found'); 
        }); 
       }, 
       function (error) { 
        console.log("download error source " + error.source); 
        console.log("download error target " + error.target); 
        console.log("upload error code" + error.code); 
       }, 
       true, 
       args.options 
    ); 
} 
+0

看來你的插件沒有正確安裝。嘗試再次安裝它。 –

+0

不,對不起,仍然沒有運氣 –

+0

可以打印出pathToFile,條目,entry.toURL()... 該路徑應該是類似於 文件:///storage/sdcard/download/internalLocalApplication.apk –

回答

0

我創建了示例程序及其工作正常。

<script type="text/javascript"> 
    function clickMe(){ 
     alert("Function called"); 

     cordova.plugins.fileOpener2.open(
      '/sdcard/Download/android-debug.apk', 
      'application/vnd.android.package-archive' 
     ); 
    } 

</script> 

<body> 
    <button onclick="clickMe();">Click Me</button> 

    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript"> 
     app.initialize(); 
    </script> 
</body> 

</html> 

它對我很好。 它打開了應用程序下載程序。

+0

我相信這個問題已經在腳本中解決了。我與github上關於該bug的開發者進行了交流。 –

+0

好吧沒問題。 – Hiten

相關問題