Приложение GetGSMStrength закрыто неожиданно. Пожалуйста, попробуйте еще раз - PullRequest
0 голосов
/ 27 января 2012

Я новичок в Android. Я создал следующее приложение, чтобы вернуть силу сигнала

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" />

Почему появляется ошибка? Когда это вообще появляется? Спасибо

1 Ответ

0 голосов
/ 27 января 2012

«Ошибка» отображается каждый раз, когда приложение вызывает сбой, исключение, которое не было разработано для надлежащей обработки.

В Java исключение обычно связано с типом произошедшей ошибкисообщение об ошибке и трассировка стека, позволяющая определить, где именно в коде произошла ошибка.

Когда исключение не обрабатывается приложением, приложение вынуждено закрывать и исключение будет записано в файл журнала Android, 'logcat', доступный через DDMS или из оболочки через adb logcat.

...