2

私は以下を行っていますが、アクティビティをインスタンス化できない例外が発生しています

java.lang.InstantiationException

以下は私のコードです>

 public class GetDeviceIdActivity extends Activity{

Context myContext;
public GetDeviceIdActivity(Context myContext)
{
    this.myContext = myContext;

}

TelephonyManager telephonyManager = (TelephonyManager)myContext.getSystemService(Context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
4

2 に答える 2

2

あなたのアプローチは間違っています。すでにアクティビティに参加しています。テレフォニーマネージャーのコンテキストを取得するためにコンテキストは必要ありません。以下のコードを使用してください。または oncreate メソッドで tm をインスタンス化します。または this キーワードを使用するか、 activityname.this キーワードを使用します。

    public class GetDeviceIdActivity extends Activity{

     Context myContext;
     public GetDeviceIdActivity(Context myContext)
       {
          this.myContext = myContext;

                }

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
于 2012-07-04T11:18:25.317 に答える
1

次のようにしてみてください:

TelephonyManager telephonyManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
于 2012-07-04T11:12:41.860 に答える