permissionsSMSHelper
クラスのgetPermissiontoReadSMS
およびonRequestPermissionsResult
メソッドを使用しようとしています。 n ewMessagePage.java
ファイルとhomePage.java
ファイルのonCreate
メソッドで参照すると、毎回「方法を解決できません」というエラーが表示されます。何が間違っているのか分かりません。誰かが助けることができれば、私はそれを感謝します。他のファイルのメソッドの参照
permisssionsSMSHelper.java
import android.Manifest;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.widget.Toast;
public class permissionsSMSHelper extends homePage {
public int READ_SMS_PERMISSIONS_REQUEST;
public permissionsSMSHelper(int req) {
READ_SMS_PERMISSIONS_REQUEST = req;
}
public void getPermissionToReadSMS(int reqVal) {
READ_SMS_PERMISSIONS_REQUEST = reqVal;
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS)
!= PackageManager.PERMISSION_GRANTED) {
if (shouldShowRequestPermissionRationale(
Manifest.permission.READ_SMS)) {
Toast.makeText(this, "Please allow permission", Toast.LENGTH_SHORT).show();
}
requestPermissions(new String[]{Manifest.permission.READ_SMS}, reqVal);
}
}
public RequestPermissionsResult(int req) {
READ_SMS_PERMISSIONS_REQUEST = req;
}
public void onRequestPermissionsResult(int requestCode,
int requestNum,
@NonNull String permissions[],
@NonNull int[] grantResults) {
READ_SMS_PERMISSIONS_REQUEST= requestNum;
if(requestCode == requestNum) {
if(grantResults.length == 1 &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Read SMS permission granted", Toast.LENGTH_SHORT).show();
refreshSmsInbox();
}else {
Toast.makeText(this, "Read SMS permission denied", Toast.LENGTH_SHORT).show();
}
}else {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
homePage.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
mDrawerList = (ListView)findViewById(R.id.navList);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
messages = (ListView) findViewById(R.id.messages);
arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, smsMessagesList);
messages.setAdapter(arrayAdapter);
if(ContextCompat.checkSelfPermission(this,Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {
permissionsSMSHelper SMScheck = new permissionsSMSHelper(1);
SMScheck.getPermissionToReadSMS(1);
SMScheck.onRequestPermissionsResult(1);
}else {
refreshSmsInbox();
}
addDrawerItems();
FABListener();
}
newMessagePage.java
import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.content.ContextCompat;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class newMessagePage extends homePage {
SmsManager smsManager = SmsManager.getDefault();
EditText input;
public void onSendClick(View view) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED) {
permissionsSMSHelper SMScheck = new permissionsSMSHelper(1);
SMScheck.getPermissionToReadSMS(1);
SMScheck.onRequestPermissionsResult(1);
}else {
smsManager.sendTextMessage("17739965441", null, input.getText().toString(), null, null);
Toast.makeText(this, "Message sent!", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_message_page);
input = (EditText) findViewById(R.id.input);
}
}
ようこそStackOverflowです。残念ながら、これは無料のデザイン/コーディングもデバッグサービスも、チュートリアルサイトもWeb検索の代替もありません。私たちは[特定の問題](https://stackoverflow.com/help/on-topic)を解決するのを助けることができますが、**あなたの仕事** ** [いくつかの努力をする](http://meta.stackoverflow.com/questions/261592)**初級**((再)検索(https://google.com/)**を含む)の件名に** –