2012-04-20 4 views
0

私は本当に私のアプリのbahaviourに困惑しています。私は携帯電話をeclipseに接続して、サービスが部分列を探すためにlogcatのすべての行を読み込んでいます。すべてがOKです。モバイルをPCから切断するとすぐに、 "logcat reading code"は機能しません。アンドロイド:LogCatの読み込みはPC接続なしでは機能しません

Process process = Runtime.getRuntime().exec("logcat -d"); 
Runtime.getRuntime().exec("logcat -c"); 
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));      

    while ((line = bufferedReader.readLine()) != null) { 
     if (line.indexOf("some string") > 0)... 

私はいくつかのlogcatアプリケーションをダウンロードし、それらは...と同じlogCat行を正確に表示することができます。私を助けてくれますか?

+0

まあのデバッグのことで、このバグを発見することはできないということでした、LogCatは、あなたのデバイスまたはエミュレーターからotuput示しだから、あなたはそれを外したときに - 。それは読んで停止した...私はあなたができることを意味します –

+0

私のアプリはモバイルで、私のサービス(まだ接続していなくても動作しています)がLogCatの部分文字列を見つけたらPCなしで見ることができますコードはモバイルで=>だから私はモバイルを切断する - それは読書を停止しない - まだlogcatが存在する – vlkpo

+0

すべての権利は、私にとって意味をなさないように開始:) –

答えて

0

私は私の人生の5時間を失いました。それは、ログファイルがPCにエクスポートされたときのように見えます。アンドロイドは元々は含まれていなかったいくつかの追加情報(time + tagなど)を追加します。私はそこに2番目の条件if(line.length()> = 120)がありました。これは、モバイルがPCと接続されていれば真です(追加のinfのために回線が長くなりました)。

問題は、:(

1

あなたは何も言わないかもしれないし、多分あなたがそれをする。しかし、マニフェストに許可android.permission.READ_LOGSを追加しましたか? OK

<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

+0

アイデアのためにありがとう、はい私はこの許可を持っています。それはうまくいきますが、モバイルがPCに接続されているときだけです。 – vlkpo

+0

あなたはどのデバイスを使用していますか? – gergonzalez

+0

ソニーエリクソン - Xperia – vlkpo