Я пытаюсь получить myime моего устройства, а затем получить его в виде строковой переменной. но я продолжаю получать эту ошибку ..
Attempt to invoke virtual method 'int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
это моя основная деятельность:
package com.testflynns82.testPanel;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
Funzioni fn = new Funzioni();
public String imei="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
final EditText code = (EditText) findViewById(R.id.editText);
final Button check = (Button) findViewById(R.id.button);
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imei = fn.checkimei;
code.setText(imei);
}
});
}
}
это мой другой файл java (Funzioni.java):
package com.testflynns82.testPanel;
import android.content.pm.PackageManager;
import android.os.Build;
import android.telephony.TelephonyManager;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
public class Funzioni extends AppCompatActivity {
public String checkimei() {
String IMEINumber = "";
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
TelephonyManager telephonyMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
IMEINumber = telephonyMgr.getImei();
} else {
IMEINumber = telephonyMgr.getDeviceId();
}
}
return IMEINumber;
}
}
Я нашел много информации и вопросов, похожих на мои, но мне так и не удалось прийти к какому-либо заключению, ни один совет, которому я стараюсь следовать, не могу решить.
Может кто-нибудь сказать мне, чтопроблема может быть?