내 서비스에서 내 전역 변수에 액세스 할 수없는 이유가 당황했습니다. 나는 .... 잘 다른 활동에서 액세스 할 수 있습니다Android 글로벌 변수가 서비스에서 작동하지 않습니다.
글로벌 VAR 클래스:
Global appState = ((Global)getApplication()); //Context());
appState.setTest(555);
Log.e("SETTEST",new Integer(appState.getTest()).toString());
결과가 555
입니다 :이 테스트 코드를 사용
public class Global extends Application {
private static final String TAG = "Global Class";
int test;
public int getTest()
{
return test;
}
주요 활동 동일한 코드를 사용하는 다른 활동 :
Global appState = ((Global)getApplication()); //Context());
Log.e("SETTEST",new Integer(appState.getTest()).toString());
,
결과 내 서비스에 마지막으로 555
, 나는 위와 같은 코드를 사용합니다
Global appState = ((Global)getApplication()); //Context());
Log.e("SETTEST",new Integer(appState.getTest()).toString());
을 나는 큰, 지방 0 다시 얻을.
도와주세요. 지금까지 3 시간을 보냈습니다. 내가 getApplication 및 getApplicationContext
또한,이 같은 매니페스트 외모 사용하여 시도했다 :
...
<application android:icon="@drawable/signal" android:label="@string/app_ name" android:name="<absolute path>.util.Global">
<service
android:name=".util.MyService"
android:process=":MyService"
android:icon="@drawable/airplane"
android:label="@string/service_name"
>
</service>
는 ** 난 그냥이 게시물에 따라뿐만 아니라 싱글 톤 클래스를 사용하여 시도합니다. 상기와 같은 문제 : 당신이 가지고 있기 때문에 서비스가 원격으로 실행
공유 환경 설정을 사용하여 전달하십시오. 제대로 작동하는지 확인하십시오. –
서비스가 로컬 또는 원격으로 실행 중입니까? –
이것은 간단한 테스트 코드 일뿐입니다. 나는 커스텀 객체의 큰 배열을 전달하고있다. 만약 공유 된 환경 설정이 내가 틀렸다면 나를 교정 할 수 있을지 모르겠다. –