2012-03-23 8 views
2

この質問は、Androidでまだ「コンテキスト」とその使い方が混乱していて、まだAndroidの新機能が原因で発生する可能性があります。前もって感謝します。アクティビティでないクラスでAndroidでTelephonyManagerを使用しています

私は電話のMDNまたはMEIDを取得する関数を持つクラスを作成しようとしています(これはタブレットでは機能しません)。私は、この行にエラーを取得しています:

TelephonyManager tManager = (TelephonyManager) Test.getSystemService(Context.TELEPHONY_SERVICE);

Eclipseは私に「コンテキスト」のエラーを与えています。私はContextが何であるかを調べました: What is 'Context' on Android? 最初のコメントは非常に役に立ちましたが、アクティビティクラスにないときにコンテキストを取得する方法は教えてくれません。

提案がありますか?

以下の全コード:

package com.test.app; 

import java.util.UUID; 

import android.content.Context; 
import android.provider.Settings.Secure; 
import android.telephony.TelephonyManager; 

public class Test { 

    public String getMDN_or_MEID() { 

     // getSystemService is a method from the Activity class. getDeviceID() 
     // will return the MDN or MEID of the device depending on which radio 
     // the phone uses (GSM or CDMA). 
     TelephonyManager tManager = (TelephonyManager) Test 
       .getSystemService(Context.TELEPHONY_SERVICE); 
     String uid = tManager.getDeviceId(); 
     return uid; 

    } 
} 
+0

を取得するためにcontext.getSystemService(Context.TELEPHONY_MANAGER)を使用している、あなたは 'Activity'からそれを呼び出していますか? – edthethird

答えて

1
getMDN_or_MEID(Context context)にご getMDN_or_MEID()方法を変更し、それに Contextを渡し

次にあなたがする必要があるすべてはあなたがこのメソッドを呼び出すときTelephonyManager ...

関連する問題