每个人都在谈论这段代码:
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
当我写这篇文章时,会出现如下错误:
"方法getContext()未定义类型Bridge"
我该如何解决?
答案 0 :(得分:0)
这也应解决问题,
String android_id = Secure.getString(this.getContentResolver(),Secure.ANDROID_ID);
答案 1 :(得分:0)
您是否尝试过使用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
答案 2 :(得分:0)
首先,您应该将Context
的实例传递到Bridge
班级
为此,您可以将Context
传递给构造函数或任何您想要的位置。
如您所知,每个方法都属于Java中的某个类。因此,当您使用getContext()
调用方法而不是某个对象时,这等于调用this.getContext()
。因此,您尝试从现在正在操作的类的实例(Bridge
)中调用该方法,该类没有定义这样的方法。这就是你得到错误
对于Bridge
类型,未定义getContext()方法
答案 3 :(得分:0)
我有同样的问题。
那是我的类没有扩展AppCompatActivity
,因为getContentResolver()
是该类中的一种方法。