こんにちは、私の主な問題は、選択した宛先アドレスに SMS を送信することです。ほとんどの場合、1 つ以上です。選択は正常に機能していますが、SMS を送信するメソッドには常に NullPointerException が表示され、主なエラーを見つけることができません。emerNames は文字列の単純な配列であり、emerNumbers も同様です! 私の頭の中で送信するテキストは問題ではありませんが、おそらく for ループ内の配列を使用した送信操作です!
助言がありますか?
AlertDialog.Builder settingMessage = new AlertDialog.Builder(c);
settingMessage.setTitle("SOS- Empfänger wählen");
settingMessage.setMultiChoiceItems(emerNames, checkItem, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked)
{
if (isChecked == true)
{
Log.i("AlertChoice", "SelectedItem: "+emerNames[which]);
ischecked[which] = true;
//emerNumbers[which]=emerNames[which];
}
else
{
ischecked[which]=false;
//emerNumbers[which]= "";
Log.i("AlertChoice", "Deseclected Item "+emerNames[which]);
}
}
} );
settingMessage.setNeutralButton("SOS senden", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
for (int i = 0; i<ischecked.length;i++)
{
if (ischecked[i]== true)
{
Log.i("Selection", "SelectedItems:"+ emerNumbers[i]);
String text;
text = "HILFE, ich befinde mich in einer Notlage\n"
+"Meine persönlichen Daten:\n"
+"Vorname: "+empersData[0]+"\n"
+"Zuname: "+empersData[1]+"\n"
+"Alter: "+empersData[2]+"\n"
+"Blutgruppe: "+empersData[3]+empersData[4]+"\n";
/*+"Versicherungsnr: "+empersData[5]+"\n"
+"Geschlecht: "+empersData[6]+"\n";*/
SmsManager sms = SmsManager.getDefault();
Log.i("nr","Telefonnr 1: "+ emerNumbers[i]);
Log.i("text",text);
sms.sendTextMessage(emerNumbers[i], null, text, null, null);
//Toast.makeText(this, "SOS versendet", Toast.LENGTH_LONG).show();
Log.i("onClickTest", "Überprüfung Index: "+ischecked[i]);
メソッド「sms.sendTextMessage」は NullPointerException をスローします。