簡體   English   中英

無法獲取唯一的Android設備ID

[英]Can't get the unique Android device ID

每個人都在談論這段代碼:

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);

當我寫這篇文章時,會出現類似以下的錯誤:

“對於類型Bridge,未定義方法getContext()”

我該如何解決?

這也應該解決問題,

String android_id = Secure.getString(this.getContentResolver(),Secure.ANDROID_ID);

您是否嘗試過使用getApplicationContext()而不是getContext()?

package de.vogella.android.deviceinfo;

    import android.app.Activity;
    import android.os.Bundle;
    import android.provider.Settings.Secure;
    import android.widget.Toast;

    public class ShowDeviceInfo extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            String deviceId = Secure.getString(this.getContentResolver(),
                    Secure.ANDROID_ID);
            Toast.makeText(this, deviceId, Toast.LENGTH_SHORT).show();
        }
    } 

http://blog.vogella.com/2011/04/11/android-unique-identifier/

這些鏈接可能有助於:

http://developer.android.com/reference/android/app/Activity.html

getApplication()與getApplicationContext()

getContext(),getApplicationContext(),getBaseContext(),getContext()和“ this”之間的區別

首先,您應該將Context實例傳遞給Bridge類。
為此,您可以將Context傳遞給構造函數,也可以傳遞給任何您想要的地方。

如您所知,每個方法都屬於Java中的某個類。 因此,當您不是從某個對象調用該方法時,就像使用getContext() ,這等同於調用this.getContext() 因此,您嘗試從當前正在操作的類的實例( Bridge )中調用該方法,該類尚未定義此類方法。 這就是為什么你會得到錯誤

對於類型Bridge,未定義方法getContext()

我遇到過同樣的問題。

那是我的類沒有擴展AppCompatActivity因為getContentResolver()是駐留在該類中的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM