2010-12-15 9 views
0

Ich versuche, eine Absicht von meiner Anwendung zu starten, die Audio von einem Streaming-Server wiedergeben wird. Ich habe für diesen Strom eine URL, und ich bin mit bit.ly die URL zu vereinfachen zu starten (ich habe ohne bit.ly versucht und haben die gleichen Ergebnisse)Kann Audio-Link von Android App nicht starten

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); 

Der Browser startet, lädt up den bit.ly Link leitet, um die Audioverbindung schließt dann und kehrt zu meinem app

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 

Wenn ich den gleichen bit.ly Link im Browser manuell starten, es funktioniert gut (startet das Audio-Streaming-App) :

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 

Ich habe versucht, mit verschiedenen intent.setFlags-Parametern zu spielen, aber ohne Erfolg. Vielleicht ein Berechtigungsproblem? Oder etwas damit zu tun, wie ich startActivity anrufe?

Antwort

3

Kein Berechtigungsproblem, es ist nur die BrowserActivity vorzeitig beendet, vielleicht weil es keine aktuelle Registerkarte gibt. Das Beste, was zu tun ist, einen zusätzlichen Hinweis auf die Absicht Resolver zu geben, dass es nicht wirklich der Browser, der die Daten werden der Handhabung sollte:

intent.setType("audio/mpeg"); 

Keine andere Flags benötigt werden ... Sound Player (oder Ihren Media-Player von Wahl) wird jetzt damit umgehen.

+0

Ah, danke für den Hinweis. Das hat es nicht ganz geschafft, aber es hat mich in die richtige Richtung gelenkt ... Ich musste absichtlich = neue Absicht nennen (Intent.ACTION_VIEW); intent.addCategory (Intent.CATEGORY_DEFAULT); intention.setDataAndType (uriObj, mimeType); Etwas zum Aufrufen von "setDataAndType" scheint erforderlich zu sein. So seltsam. – Eric

Verwandte Themen