1

Ich habe eine Anwendung, die eine temporäre HTML-Datei erstellt, sendet dann die Datei über Bluetooth (Aktie Absichten verwendet wird) und der folgende Code ein:Intent nicht ausgelöst

exports.sendViaBluetooth = function(file, title) { 

    var intent = Ti.Android.createIntent({ 
     action: Ti.Android.ACTION_SEND 
    }); 

    // File contains a tifileobject.nativePath 
    intent.putExtraUri(Ti.Android.EXTRA_STREAM, file); 

    var share = Ti.Android.createIntentChooser(intent, title); 

    Ti.Android.currentActivity.startActivityForResult(share, function(e) { 
     // This never fires 
     Ti.API.info("Finished intent:"); 
     Ti.API.info(JSON.stringify(e, 0, 2)); 
    }); 

}; 

Manchmal erfolgreich dies den Anteil Feld erscheint, manchmal nicht. Der Aufruf von startActivityForResult wird nie ausgelöst. Die Datei existiert unter dem angegebenen Pfad und ist> 0 Bytes, so dass sie erfolgreich erstellt wird.

Wäre es möglich, Hyperloop zu verwenden, um anstelle der Ti-Proxies native Intent-Funktionalität zu verwenden?

Jede Hilfe/Ideen/Anleitung wird sehr geschätzt.

Antwort

1

Ich schaffte es, dies in einer Weise zu lösen.

Die Aktivität wird nie gestartet, da Ti.Android.currentActivity die aktuelle Aktivität nicht genau zu halten scheint. Wenn Sie die aktuelle Ansicht übergeben, also startActivity aufrufen, funktioniert alles wie erwartet.

Dies:

$.report.activity.startActivity(intent); 

Wird die Absicht jedes Mal Feuer ohne scheitern. Hoffentlich hilft das jemandem, der auf die gleiche Situation trifft.