0

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

为什么会出现错误?一般什么时候出现?谢谢

4

1 回答 1

0

每次应用程序导致失败时,“错误”就会出现,这是一个异常,它没有被设计为适当地处理。

在 Java 中,异常通常与发生的错误类型、详细说明错误的消息以及允许在代码中准确定位错误发生位置的堆栈跟踪相关联。

When an exception is not handled by the application the App is forced to close and the exception will be logged to the Android log file, the 'logcat', accessible via DDMS or from the shell via adb logcat.

于 2012-01-27T13:55:40.280 回答