应用程序中的电话管理器 class
Telephony manager in Application class
当我尝试使用电话管理器从 Activity class 中检索 phone 号码时,我能够成功完成。但我将在应用程序的多个位置使用 phone 数字,因此我将 phone 数字转移为我的应用程序 class 中的静态字段。
public class FourApplication extends Application {
static String phonenumber ;
@Override
public void onCreate() {
super.onCreate();
ParseObject.registerSubclass(Post.class);
// Add your initialization code here
Parse.initialize(this, "**********", "*********");
ParseACL defaultACL = new ParseACL();
// If you would like all objects to be private by default, remove this
// line.
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
phonenumber = getPhoneNumber();
}
public String getPhoneNumber()
{
TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number(); ;
Log.i("mPhoneNumber : ", mPhoneNumber);
return mPhoneNumber;
}
}
我在这里犯了什么错误?我通读了一些与上下文相关的问题和线程,由于我是新手,因此无法弄清楚我的代码出了什么问题。
编辑:我的问题是,当我将电话管理器部分移至应用程序 class 时,它不会 return 一个 phone 号码。这是为什么?
@55597
请使用下面的code.You 得到你的问题
TelephonyManager tMgr =(TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
您没有为 TelephonyManager 传递 Activity 的正确上下文,因此它的 return 为空。
当我尝试使用电话管理器从 Activity class 中检索 phone 号码时,我能够成功完成。但我将在应用程序的多个位置使用 phone 数字,因此我将 phone 数字转移为我的应用程序 class 中的静态字段。
public class FourApplication extends Application {
static String phonenumber ;
@Override
public void onCreate() {
super.onCreate();
ParseObject.registerSubclass(Post.class);
// Add your initialization code here
Parse.initialize(this, "**********", "*********");
ParseACL defaultACL = new ParseACL();
// If you would like all objects to be private by default, remove this
// line.
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
phonenumber = getPhoneNumber();
}
public String getPhoneNumber()
{
TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number(); ;
Log.i("mPhoneNumber : ", mPhoneNumber);
return mPhoneNumber;
}
}
我在这里犯了什么错误?我通读了一些与上下文相关的问题和线程,由于我是新手,因此无法弄清楚我的代码出了什么问题。
编辑:我的问题是,当我将电话管理器部分移至应用程序 class 时,它不会 return 一个 phone 号码。这是为什么?
@55597
请使用下面的code.You 得到你的问题
TelephonyManager tMgr =(TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
您没有为 TelephonyManager 传递 Activity 的正确上下文,因此它的 return 为空。