2016-04-04 6 views
1

こんにちは私は単純なボタンクリックをして、押したときに特定の番号に電話することができます。 API 23の前に、私は単にマニフェストにパーミッションを追加していますが、今はこの自己チェックシステムを追加する必要があります。私が問題を抱えているのは、これが間違った第一引数型であることを示す赤い下線がついています。この自己チェックの問題で初めてのことですが、エラーを修正するにはどうすればいいですか?AndroidスタジオAPIで電話をかけよう23


call = (Button) findViewById(R.id.btnCall); 

    call.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent callIntent = new Intent(Intent.ACTION_CALL); 
      callIntent.setData(Uri.parse("tel:123")); 

      if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 

       return; 
      } 
      startActivity(callIntent); 




     } 
    }); 

あなた

答えて

1

永遠の問題をありがとう:)

変更thisgetBaseContext()または<YourActivityClass>.this

if (ActivityCompat.checkSelfPermission(getBaseContext(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 
    return; 
} 
+0

のおかげで、エラーをクリア:Dは、悲しいことに、私が取得する仮想起動しようとメソッド 'void android.widget.Button.setOnClickListener(android.vi ew.View $ OnClickListener) 'nullのオブジェクト参照で-----今アプリケーションを実行中 – james

+0

@jamesは 'btnCall'のように見えますが、アクティビティレイアウトには存在しません –

+0

ありがとうございました – james

関連する問題