我有一個處理特定類型文件的Android應用程序。它爲MIME類型和文件名模式註冊意圖過濾器。這一切都從文件管理器正常工作;我選擇了一個文件,我得到一個適用於該文件的操作列表的提示,我的應用程序在列表中,我選擇它並運行。Android:正確處理通過藍牙接收的文件
但是,當我通過藍牙將文件傳送到設備時,這不起作用。文件被接收並被正確下載,但是從傳輸頁面選擇文件什麼也不做(儘管我仍然可以使用文件管理器在/ sdcard/downloads/bluetooth中找到下載的文件並從那裏運行它)。日誌中包含:
V/BluetoothOppUtility( 565): Get data from db:/mnt/sdcard/downloads/bluetooth/foo.appnull00:11:22:33:44:55
E/BluetoothOppUtility( 565): ERROR: Para fileName ==null, or mimetype == null
(該文件的名稱這裏是foo.app。)
它看起來像它的決定,該文件沒有MIME類型和被放棄,而不是廣播意圖要求基於文件名的匹配。
這是HTC Desire上的Froyo,我知道HTC一直在修補藍牙堆棧(因爲Android的股票不允許任意文件被髮送到設備)。有誰知道我該如何做這項工作? Beaming .jpg和.png文件正常工作...