java为不同的活动调用类中的上下文
我正在检查类内的发送\u SMS权限:
public class SendSms extends Activity{
int requestPerm;
private void checkPermissionSms(){
if(ContextCompat.checkSelfPermission(, Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS},
requestPerm); //If we don't have the permission, request it here
}
}
但在checkSelPermission中,它需要一个上下文,但我不确定它需要什么上下文(甚至不太确定checkSelfPermission需要什么上下文) 我的发言如下:
https://developer.安卓.com/training/permissions/requesting.html#java
上述方法的调用方式如下:
public static void sendSms(String message){
// Intent calledSendSMS = getIntent();
//String message = calledSendSMS.getStringExtra(Intent.EXTRA_TEXT);
// PendingIntent pi = PendingIntent.getActivity(this,0, new Intent(this,SendSms.class),0);
SendSms checkPerm = new SendSms();
SmsManager sendTheMessage = SmsManager.getDefault();
String phoneNumber = "5556";
checkPerm.checkPermissionSms();
sendTheMessage.sendTextMessage(phoneNumber, null,message,null,null);
}
这个方法是从另一个活动调用的。 我确实输入了“this”,但随后出现以下错误:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int 安卓.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
at 安卓.content.ContextWrapper.checkPermission(ContextWrapper.java:724)
at 安卓.support.v4.content.ContextCompat.checkSelfPermission(ContextCompat.java:430)
at com.example.安卓.footysortit.SendSms.checkPermissionSms(SendSms.java:17)
实际上,我所要做的就是检查权限,如果需要的话,请求它
编辑:如果我在实际活动中添加检查权限,并使用“this”,则效果很好。 那么如何让它传递活动数据呢
# 1 楼答案
改变这一点:
致:
SendSms类-您需要创建该类的构造函数