0

私はアンドロイドの初心者です.信号強度を返すために次のアプリケーションを作成しました

package com.example.GetGsmSignalStrength;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.widget.Toast;
import android.os.Bundle;

public class GetGsmSignalStrength extends Activity
{
   /* This variables need to be global, so we can used them onResume and onPause method to
      stop the listener */
   TelephonyManager        Tel;
   MyPhoneStateListener    MyListener;

   /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        /* Update the listener, and start it */
        MyListener   = new MyPhoneStateListener();
        Tel       = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE);
      Tel.listen(MyListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
    }

    /* Called when the application is minimized */
    @Override
   protected void onPause()
    {
      super.onPause();
      Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE);
   }

    /* Called when the application resumes */
   @Override
   protected void onResume()
   {
      super.onResume();
      Tel.listen(MyListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
   }

   /* —————————– */
    /* Start the PhoneState listener */
   /* —————————– */
    private class MyPhoneStateListener extends PhoneStateListener
    {
      /* Get the Signal strength from the provider, each tiome there is an update */
      @Override
      public void onSignalStrengthsChanged(SignalStrength signalStrength)
      {
         super.onSignalStrengthsChanged(signalStrength);
         Toast.makeText(getApplicationContext(), "Go to Firstdroid!!! GSM Cinr = "
            + String.valueOf(signalStrength.getGsmSignalStrength()), Toast.LENGTH_SHORT).show();
      }

    };/* End of private Class */

}/* GetGsmSignalStrength */

しかし、実行すると、タイトルに記載されているエラーがポップアップボックスに表示されます。androidmanifest.xml で必要な権限の変更を行いました。これですべて完了です。

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

エラーが表示されるのはなぜですか? 一般的にはいつ登場しますか?ありがとう

4

1 に答える 1

0

「エラー」は、アプリケーションが適切に処理するように設計されていないエラー (例外) を引き起こすたびに表示されます。

Java では、例外は通常、発生したエラーの種類、エラーの詳細を示すメッセージ、コード内でエラーが発生した正確な場所を特定できるスタック トレースに関連付けられています。

例外がアプリケーションによって処理されない場合、アプリは強制的に閉じられ、例外は Android ログ ファイル (「logcat」) に記録されます。このログ ファイルには、DDMS 経由で、または 経由でシェルからアクセスできますadb logcat

于 2012-01-27T13:55:40.280 に答える