2016-07-05 11 views
1

In meiner App habe ich einen Link zu einer docx-Datei auf einem Server. Ich möchte diese Datei in einer anderen App anzeigen, die docx-Dateien wie Google Text & Tabellen oder Microsoft Word anzeigen kann. Wenn ich die Auswahlfunktion einstelle, werden weder Google Text & Tabellen noch Microsoft Word angezeigt (und ja, sie sind installiert), es wird nur die OfficeSuite-App angezeigt.
Wer weiß, warum das so ist?Google Text & Tabellen Word-Apps werden in der Auswahl nicht angezeigt

Dies ist mein Code:

var uri = android.net.Uri.parse(httpUrlString); 
var extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(uri.toString()); 
var mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 

var intent = new android.content.Intent(android.content.Intent.ACTION_VIEW); 
intent.setFlags(android.content.Intent.FLAG_ACTIVITY_NO_HISTORY); 

if (extension === "" || mimetype == null) { 
    // if there is no extension or there is no definite mimetype, still try to open the file 
    intent.setDataAndType(uri, "text/*"); 
} else { 
    intent.setDataAndType(uri, mimetype);   
} 

var packageManager = application.android.context.getPackageManager(); 
var activities = packageManager.queryIntentActivities(intent, android.content.pm.PackageManager.MATCH_DEFAULT_ONLY); 
var isIntentSafe = activities.size() > 0; 

if (isIntentSafe) { 
    try { 
     application.android.startActivity.startActivity(android.content.Intent.createChooser(intent, "Åben Fil med")); 
    } catch (e) { 
     console.log(e); 
    } 
} 

ich es auf einem Sony, LG und Samsung Handy versucht haben, seine derselben.

Antwort

0

Okay, so dass ich Ich denke, ich habe den Grund gefunden. Es sieht so aus, als ob die Google Docs App und die Microsoft Word App nicht http-uri (http://...) Verarbeiten können, aber wenn ich die Datei auf das Telefon lade und dann eine Datei-uri analysiere (file: /// ....) es läuft gut.

0

Meine Vermutung hier ist, dass Sie eine Standard-App für Dateien mit der Erweiterung * .docx festgelegt haben und diese Standard-App OfficeSuite ist.

Als mögliche Abhilfe können Sie versuchen, die Flagge von MATCH_DEFAULT_ONLY zu MATCH_ALL zu ändern

Sie können Ihre Standard-Apps auf Ihrem Gerät zurücksetzen

how-to-set-and-clear-a-default-app-on-an-android-device

+0

Danke für Ihre Antwort, leider funktioniert das nicht. Es gibt keine Standard-App für * .docx, und wenn ich MATCH_DEFAULT_ONLY in MATCH_ALL ändere, kann ich nur OfficeSuite auswählen. – gregersen79