Tôi lúng túng vì sao tôi không thể truy cập các biến toàn cầu từ dịch vụ của mình. Tôi có thể truy cập chúng từ các hoạt động khác tốt ....Biến toàn cục của Android không hoạt động trong Dịch vụ
toàn cầu var lớp:
public class Global extends Application {
private static final String TAG = "Global Class";
int test;
public int getTest()
{
return test;
}
Hoạt động chính tôi sử dụng mã kiểm tra này:
Global appState = ((Global)getApplication()); //Context());
appState.setTest(555);
Log.e("SETTEST",new Integer(appState.getTest()).toString());
Kết quả là 555
Một hoạt động khác tôi sử dụng cùng một mã:
Global appState = ((Global)getApplication()); //Context());
Log.e("SETTEST",new Integer(appState.getTest()).toString());
Kết quả là 555
cuối cùng phục vụ của tôi, tôi sử dụng mã tương tự như trên:
Global appState = ((Global)getApplication()); //Context());
Log.e("SETTEST",new Integer(appState.getTest()).toString());
và tôi nhận được lớn, chất béo 0 trở lại.
Vui lòng trợ giúp. Tôi đã dành 3 giờ cho đến nay. Tôi đã cố gắng sử dụng getApplication, và getApplicationContext
Ngoài ra, vẻ ngoài biểu hiện như thế này:
...
<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>
** Tôi chỉ cố gắng sử dụng một lớp singleton cũng theo bài này. cùng khó khăn như trên:
Cố gắng chuyển chúng bằng cách sử dụng Tùy chọn được chia sẻ..Tôi hy vọng nó sẽ hoạt động. –
Dịch vụ của bạn có chạy cục bộ hoặc từ xa không? Đăng tệp kê khai cho dịch vụ của bạn –
đây chỉ là mã thử nghiệm đơn giản. Tôi đang đi qua một mảng lớn các đối tượng tùy chỉnh ... Tôi không chắc chắn nếu được chia sẻ prefs là cách để đi đúng tôi nếu tôi sai –