0

このコードを使用すると、ユーザーをダイヤル画面に送信するのは非常に簡単です

    EditText firstNumber;
    Button btnAdd;
    String hash;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main23);

        btnAdd = (Button)findViewById(R.id.button2);
        btnAdd.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {

                    EditText et = (EditText) findViewById(R.id.editText);


                    String text= et.getEditableText().toString();
                    hash = "#";


                    Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:*221*" + text + "hash"));
                    startActivity(intent);
                } catch (Exception e) {
          }
        }
     });

    }

ただし、ユーザーがボタンをクリックして自動的に電話をかけたい場合は、ボタンをクリックすると自動的に電話をかける必要があります。android.permission.CALL_PHONEで設定しました 。以下のコードを使用します....

EditText firstNumber;
EditText secondNumber;
Button   btnAdd;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);


    //assigning where the button5 to btnAdd
    btnAdd = (Button)findViewById(R.id.button5);

    // set up my setOnClickListener for button
    btnAdd.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            try {

                //stores whats inside of the editText2 to et and et2
                EditText et = (EditText) findViewById(R.id.editText2);
                EditText et2 = (EditText) findViewById(R.id.editText5);

                //stores whats been sent to et and et2 variables to text and text2
                String text= et.getEditableText().toString();
                String text2 =et2.getEditableText().toString();


                // new intent to take user to dial screen and make the call automatically.
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:*215*" + text + "*" + text2 + "#"));
                callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                // crashes here "i get red squigglies here "
                startActivity(callIntent);

            } catch (Exception e) {

          }
        }
    });

}

startActivity(callIntent);の下に波線が表示されます。「呼び出しには、ユーザーが拒否する可能性のある許可が必要です。許可が利用可能かどうかを明示的に確認するコード」と述べています。実行時に実行するにはどうすればよいですか?

4

1 に答える 1