Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-23562

Android 6.0: reading to tempDirectory fails without External storage permissions

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Duplicate
    • Affects Version/s: Release 5.3.0
    • Fix Version/s: None
    • Component/s: Android
    • Environment:

      Ti SDK: 5.3.0.GA,
      CLI: 5.3.0
      Studio: 4.6.0
      Node: 4.4.4
      Android : htc_melsuhl (v6.0.1)

    • Sprint:
      2016 Sprint 14 SDK

      Description

      Description

      Can not read tempDirectory file without External storage permissions.

      Steps to Reproduce:

      1. Create a classic project.
      2. Paste this code on app.js file.
      3. Run it on android 6 device.

      Test Case

      app.js

      var win = Ti.UI.createWindow({
      	backgroundColor : '#ffffff'
      });
      var button = Ti.UI.createButton({
      	top : 10,
      	width : 200,
      	height : 50,
      	title : "Read files"
      });
      win.add(button);
       
      var f = Ti.Filesystem.getFile(Ti.Filesystem.tempDirectory, 'fileter.txt');
      f.write('writing to the file would be enough to create it');
       
      button.addEventListener('click', function(e) {
      	alert(f.read());
       
      });
       
      win.open();
      
      

      error

      [ERROR] :  SensorManager: uid = 10318
      [INFO] :   SensorManager: registerListenerImpl: listener = android.view.OrientationEventListener$SensorEventListenerImpl@33dd978, sensor = {Sensor name="Accelerometer Sensor", vendor="HTC Group Ltd.", version=1, type=1, maxRange=19.6133, resolution=0.01, power=0.17, minDelay=10000}, delay = 200000, handler = null
      [ERROR] :  TiFileProxy: (KrollRuntimeThread) [6877,6877] IOException encountered
      [ERROR] :  TiFileProxy: java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.a.permision/cache/_tmp/fileter.txt: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiFileProxy: 	at libcore.io.IoBridge.open(IoBridge.java:452)
      [ERROR] :  TiFileProxy: 	at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.titanium.io.TiFile.getOutputStream(TiFile.java:273)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.titanium.io.TiFile.open(TiFile.java:336)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.titanium.io.TiFile.write(TiFile.java:460)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.titanium.TiFileProxy.write(TiFileProxy.java:287)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.kroll.runtime.v8.V8Object.nativeFireEvent(Native Method)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.kroll.runtime.v8.V8Object.fireEvent(V8Object.java:62)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:918)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1141)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:356)
      [ERROR] :  TiFileProxy: 	at android.os.Handler.dispatchMessage(Handler.java:98)
      [ERROR] :  TiFileProxy: 	at android.os.Looper.loop(Looper.java:168)
      [ERROR] :  TiFileProxy: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:118)
      [ERROR] :  TiFileProxy: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiFileProxy: 	at libcore.io.Posix.open(Native Method)
      [ERROR] :  TiFileProxy: 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
      [ERROR] :  TiFileProxy: 	at libcore.io.IoBridge.open(IoBridge.java:438)
      [ERROR] :  TiFileProxy: 	... 13 more
      [ERROR] :  TiBlob: (KrollRuntimeThread) [49,6926] /storage/emulated/0/Android/data/com.a.permision/cache/_tmp/fileter.txt: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.a.permision/cache/_tmp/fileter.txt: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: 	at libcore.io.IoBridge.open(IoBridge.java:452)
      [ERROR] :  TiBlob: 	at java.io.FileInputStream.<init>(FileInputStream.java:76)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.io.TiFile.getInputStream(TiFile.java:264)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.getInputStream(TiBlob.java:389)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.guessContentTypeFromStream(TiBlob.java:209)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.loadBitmapInfo(TiBlob.java:270)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.blobFromFile(TiBlob.java:140)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.blobFromFile(TiBlob.java:113)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.io.TiFile.read(TiFile.java:351)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiFileProxy.read(TiFileProxy.java:239)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.runtime.v8.V8Object.nativeFireEvent(Native Method)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.runtime.v8.V8Object.fireEvent(V8Object.java:62)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:918)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1141)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:356)
      [ERROR] :  TiBlob: 	at android.os.Handler.dispatchMessage(Handler.java:98)
      [ERROR] :  TiBlob: 	at android.os.Looper.loop(Looper.java:168)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:118)
      [ERROR] :  TiBlob: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: 	at libcore.io.Posix.open(Native Method)
      [ERROR] :  TiBlob: 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
      [ERROR] :  TiBlob: 	at libcore.io.IoBridge.open(IoBridge.java:438)
      [ERROR] :  TiBlob: 	... 17 more
      [ERROR] :  TiBlob: (KrollRuntimeThread) [7,6933] /storage/emulated/0/Android/data/com.a.permision/cache/_tmp/fileter.txt: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.a.permision/cache/_tmp/fileter.txt: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: 	at libcore.io.IoBridge.open(IoBridge.java:452)
      [ERROR] :  TiBlob: 	at java.io.FileInputStream.<init>(FileInputStream.java:76)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.io.TiFile.getInputStream(TiFile.java:264)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.getInputStream(TiBlob.java:389)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.getBytes(TiBlob.java:324)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.getText(TiBlob.java:452)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.TiBlob.toString(TiBlob.java:511)
      [ERROR] :  TiBlob: 	at ti.modules.titanium.TitaniumModule.alert(TitaniumModule.java:232)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.runtime.v8.V8Object.nativeFireEvent(Native Method)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.runtime.v8.V8Object.fireEvent(V8Object.java:62)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:918)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1141)
      [ERROR] :  TiBlob: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:356)
      [ERROR] :  TiBlob: 	at android.os.Handler.dispatchMessage(Handler.java:98)
      [ERROR] :  TiBlob: 	at android.os.Looper.loop(Looper.java:168)
      [ERROR] :  TiBlob: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:118)
      [ERROR] :  TiBlob: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
      [ERROR] :  TiBlob: 	at libcore.io.Posix.open(Native Method)
      [ERROR] :  TiBlob: 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
      [ERROR] :  TiBlob: 	at libcore.io.IoBridge.open(IoBridge.java:438)
      [ERROR] :  TiBlob: 	... 15 more
      
      

      Connected Android Devices
      htc_melsuhl
      State = device
      SDK Version = 6.0.1 (android-23)
      ABIs = armeabi-v7a, armeabi,

      Thanks

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                msamah Ashraf Abu (Inactive)
                Reporter:
                morahman Motiur Rahman
              • Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-9858
                    Sync status:
                    ERROR
                    Last received:
                    Last sent:

                    Git Integration