2010-12-15 77 views
0

我試圖從我的應用程序啓動將從流式服務器播放音頻的意圖。我已經得到了該流的url和我使用bit.ly來簡化URL以啓動(我試過沒有bit.ly並具有相同的結果)無法從Android應用程序啓動音頻鏈接

intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://bit.ly/gKltQE")); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // i tried with and without this, no luck 
startActivity(intent); 

瀏覽器啓動時,加載了bit.ly鏈接,重定向到音頻鏈接,然後關閉並返回到我的應用程序

12-15 14:27:58.559 1259 8370 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW dat=http://bit.ly/gKltQE flg=0x10000000 cmp=com.android.browser/.BrowserActivity (has extras) } 
12-15 14:14:23.903 1259 1383 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://216.235.81.102:15532/play?now=65&membername;=&session=kxlu1:0&tag=live365&s=kxlu1&d=live365&r=0&app_id=live365:BROWSER%28pro%29 cmp=com.android.browser/.BrowserActivity } 
12-15 14:14:24.387 8848 8848 D webviewglue: nativeDestroy view: 0x3bb018 
12-15 14:14:24.387 1259 1600 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW dat=http://216.235.81.102:15532/play?now=65&membername;=&session=kxlu1:0&tag=live365&s=kxlu1&d=live365&r=0&app_id=live365:BROWSER%28pro%29 typ=audio/mpeg cmp=com.android.music/.StreamStarter } 
12-15 14:14:24.387 1259 1929 I ActivityManager: moveTaskToBack: 12 

當我啓動手動瀏覽器相同的bit.ly鏈接,它工作正常(啓動音頻流應用程序) :

12-15 14:26:21.403 8848 8848 D SearchDialog: launching Intent { act=android.intent.action.VIEW dat=http://bit.ly/gKltQE flg=0x10000000 cmp=com.android.browser/.BrowserActivity (has extras) } 
12-15 14:26:21.411 8848 8848 I SearchDialog: Starting (as ourselves) http://bit.ly/gKltQE#Intent;action=android.intent.action.VIEW;launchFlags=0x10000000;component=com.android.browser/.BrowserActivity;S.query=http%3A%2F%2Fbit.ly%2FgKltQE;S.user_query=bit;end 
12-15 14:26:21.411 1259 1259 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW dat=http://bit.ly/gKltQE flg=0x10000000 cmp=com.android.browser/.BrowserActivity (has extras) }12-15 14:26:21.879 1259 1267 V DeviceStorageMonitorService: freeMemory=6210887680 
12-15 14:26:21.879 1259 1267 V DeviceStorageMonitorService: Threshold Percentage=10 
12-15 14:26:21.879 1259 1267 V DeviceStorageMonitorService: mTotalMemory = 70264913 
12-15 14:26:21.879 1259 1267 I DeviceStorageMonitorService: Posting Message again 
12-15 14:26:21.997 8848 8864 D dalvikvm: GC_FOR_MALLOC freed 14790 objects/467656 bytes in 85ms 
12-15 14:26:22.192 1259 1436 D dalvikvm: GC_FOR_MALLOC freed 47823 objects/2142584 bytes in 154ms 
12-15 14:26:22.208 1259 1263 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://216.235.81.102:15532/play?now=65&membername;=&session=kxlu1:0&tag=live365&s=kxlu1&d=live365&r=0&app_id=live365:BROWSER%28pro%29 cmp=com.android.browser/.BrowserActivity } 
12-15 14:26:22.676 1259 1259 I ActivityManager: Starting activity: Intent { act=android.intent.action.VIEW dat=http://216.235.81.102:15532/play?now=65&membername;=&session=kxlu1:0&tag=live365&s=kxlu1&d=live365&r=0&app_id=live365:BROWSER%28pro%29 typ=audio/mpeg cmp=com.android.music/.StreamStarter } 
12-15 14:26:22.770 1259 8719 I AudioService: Remote Control registerMediaButtonEventReceiver() for ComponentInfo{com.android.music/com.android.music.MediaButtonIntentReceiver} 
12-15 14:26:22.801 8217 8217 V MediaPlaybackService: reloadQueue end 
12-15 14:26:22.809 8217 8217 V MediaPlaybackService: onCreate end 
12-15 14:26:22.809 8217 8217 V MediaPlaybackService: onStartCommand end 

我試過擺弄各種intent.setFlags參數,但無濟於事。也許權限問題?或者我如何調用startActivity?

回答

3

沒有權限問題,它只是BrowserActivity過早結束,也許是因爲沒有當前選項卡。做的最好的事情就是給一個額外的線索意圖解析器,它實際上不是應該處理數據的瀏覽器:

intent.setType("audio/mpeg"); 

不需要進行其他的標誌...聲音播放器(或媒體播放器選擇)現在將處理它。

+0

啊,謝謝你的提示。這並沒有做到,但它指出了我的正確方向......我需要調用intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setDataAndType(uriObj,mimeType); 似乎需要調用「setDataAndType」。很奇怪。 – Eric 2010-12-23 19:37:49