2011-08-10 17 views
1

私は現在webviewを持っています。あなたがmp3リンクを押すと、mp3が再生を開始します。私たちは最近、すべてのリンクを変更しましたが、現在は "http"ではなく "https"になっています。ログ・キャットから受け取ったエラーは次のとおりです。Android-launch URLリンクからmp3をダウンロード

08-09 17:26:59.060: ERROR/AndroidRuntime(5574): FATAL EXCEPTION: main 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://s3.amazonaws.com/StopDropRave/Week+of+August+8/Flawless+ft.+Army+of+Karmen+-+L.I.E.+%28Love+Automatic+Dubstep+Remix%29.mp3 typ=audio/* } 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.Activity.startActivityFromChild(Activity.java:3067) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.Activity.startActivityForResult(Activity.java:2847) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.Activity.startActivity(Activity.java:2933) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at ravebox.dev.sdr.BlogActivity$HelloWebViewClient$1.onClick(BlogActivity.java:158) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:159) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.os.Looper.loop(Looper.java:123) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
08-09 17:26:59.060: ERROR/AndroidRuntime(5574):  at dalvik.system.NativeStart.main(Native Method) 

httpsのためかどうかわかりません。いい考えはありません。何か案は?また、ここで

<activity android:name=".BlogActivity" 
        android:label="@string/app_name" 
        android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

私はリスニング部分を扱う私のコードの一部です:感謝

これは、この特定の活動の私のマニフェストの一部です。基本的に、ユーザーが聴いたりダウンロードしたりするためのダイアログを開きます。ダウンロードは完璧ですが、httpsへのリンクを変更した後ではリッスンしません。

private class HelloWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(final WebView view, 
       final String url) { 
      view.loadUrl(url); 
      view.getSettings().getAllowFileAccess(); 
      view.getSettings().setJavaScriptEnabled(true); 
      view.getCertificate(); 
      // load the dropbox files so people can listen to the track 
      if (url.startsWith("https://") && url.endsWith(".mp3")) { 
       view.getCertificate(); 
       progressWebView.dismiss(); 
       progressWebView.cancel(); 
       /*blogDialog.setButton("Listen", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           Intent intent = new Intent(Intent.ACTION_VIEW); 
           intent.setDataAndType(Uri.parse(url), "audio/*"); 
           view.getContext().startActivity(intent); 

          } 
         });*/ 
       blogDialog.setButton2("Download", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           sdrUrl = url.toString(); 
           new DownloadFile().execute(); 

          } 

         }); 
       blogDialog.show(); 

      } else { 
       return super.shouldOverrideUrlLoading(view, url); 
      } 
      return true; 
     } 
    } 
+0

リンクをhttpsに変更する前に再生がテストされましたか? – Deepak

+0

@Deepak:はい、すべてが完全に機能していました。まったく問題はなかった。 – Splitusa

+0

マニフェストファイルのインテントフィルタを確認できますか?フィルタは、再生したいデータや種類のものと一致していないようですか?フィルタの一部で 'http://'がハードコードされているかどうかを確認します。 – Deepak

答えて

0

SergioRaは、 はあなたが任意のオーディオファイルを再生しようとしているから「BlogActivity」を持っているように見えます。 デフォルトでは、Android Music Playerアプリがリンクからデータを再生するために使用されます。 ミュージックプレーヤーアプリケーションのストリーミングプレーヤーのアクティビティには、データスキームが「http」のみに設定されているため、新しいリンクのコンテンツは「https」スキームで再生されません。

SOすでに、このようなクエリを持っており、ここでのダウンロードが正常に動作しますが、再生にはない理由ですリンク、problem in streaming audio from https link

です。 だから私はそれを再生する前に、デバイス上の一時的な場所にファイルをダウンロードすることをお勧めします。

関連する問題