मुझे परेशान है कि मैं अपनी सेवा से अपने वैश्विक चर का उपयोग क्यों नहीं कर सकता। मैं उन्हें अन्य गतिविधियों ठीक से उपयोग कर सकते हैं ....एंड्रॉइड ग्लोबल वैरिएबल सेवा में काम नहीं कर रहा है
वैश्विक वर वर्ग:
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>
** मैं सिर्फ इस पोस्ट के अनुसार के रूप में अच्छी तरह से एक सिंगलटन वर्ग उपयोग करने की कोशिश। इसके बाद के संस्करण के रूप में ही मुसीबतों:
साझा प्राथमिकताओं का उपयोग करके उन्हें पास करने का प्रयास करें .. मुझे उम्मीद है कि यह काम करेगा। –
क्या आपकी सेवा स्थानीय या दूरस्थ चल रही है? अपनी सेवा के लिए मेनिफेस्ट पोस्ट करें –
यह सिर्फ सरल परीक्षण कोड था। मैं कस्टम ऑब्जेक्ट्स की एक बड़ी सरणी गुजर रहा हूं ... मुझे यकीन नहीं है कि अगर साझा किया गया है तो मुझे सही करने का तरीका है अगर मैं गलत हूं –