jar 파일이 될 Android 프로젝트 용 SDK를 만들려고합니다.Android 맞춤 라이브러리 사용 방법
문제는 라이브러리에 장치의 MAC 주소를 반환하는 기능이 있다는 것입니다. 이를 위해 나는 사용해야합니다
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
이 명령은 내 SDK 클래스는 액티비티 클래스에서 상속되고 onCreate
기능을 구현할 것을 요구한다.
system service not available to activities before oncreate
조차 힘든 내 명령에서 onCreate 함수 내에서이다 : 나는 라이브러리에 대한 참조를 가지고 다른 안드로이드 프로젝트의 라이브러리 (항아리)를 소비하기 위해 노력하고있어 때
가 나는 오류가 말을 얻을.
누구나 해결 방법을 알고 있습니까? 또는 Android 서비스/기능을 일부 사용할 수있는 다른 방식으로 SDK를 구현해야합니까?
나는 도서관 프로젝트 모두에 대한 예제 코드를 추가 한:
라이브러리 (jar 파일로 컴파일) :
public class DeviceDetails
{
public String MACAddress="";
public String IMEI="";
public DeviceDetails(Context context)
{
WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
MACAddress=wm.getConnectionInfo().getMacAddress();
TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
IMEI=telephonyManager.getDeviceId();
}
}
해당 라이브러리를 소모 프로젝트
public class TestSDKActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DeviceDetails d=new DeviceDetails(getApplicationContext());
String i=d.IMEI;
String m=d.MACAddress;
}
}
* 문제가 해결되었습니다 * *
내가 맥 주소 나 imei를 얻을 수없는 이유는 wifi 서비스 나 전화 서비스를 사용하기 위해서 jar 파일을 소비 한 클래스에서 컨텍스트 개체를 전달해야했기 때문입니다.
나는 코드를 편집했다.
질문에 많은 의미가 없습니다. 더 잘 설명해보십시오. –
내가 다시 말하려고하자. 내가 만들고있는 라이브러리가 있는데, lib라고 부를 수있다. 안드로이드 프로젝트에서 'P'라고 부를 수 있습니다. P는 'lib'을 사용하고 있으며 'lib'의 멤버 인 MAC 주소를 얻으려고합니다. 나는 그렇게하지 못하고 응답으로 null을 얻는다. –