私には画像ボタンが付いたアダプタがあります。そしてOnClick
のImageButton
私は解析している連絡先番号に電話したいと思う。ここで私は許可チェックを追加するように頼んでいます。私はこの段階でクラスキャスト例外を取得しています。助けてください。アンドロイドアプリからの呼び出しと許可の確認
これは私のコードです:
holder.call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (ActivityCompat.checkSelfPermission(context, permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.CALL_PHONE}, MY_PERMISSIONS_REQUEST_CALL_PHONE);
} else {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+storePro.getStoreContact()));
callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(callIntent);
}
}
});
と私は取得しています例外:
FATAL EXCEPTION: main
java.lang.ClassCastException: com.example.project.app.AppController cannot be cast to android.app.Activity
マニフェストファイルにアクセス許可を設定してみませんか?その場で許可要求をする必要がある理由はありますか? – hildegard
'ActivityCompat.requestPermission()'の代わりに 'ContextCompat.requestPermission()'を使用してみてください – SripadRaj
@hildegard FYIあなたはアンドロイド6.0以上で実行時に特定の権限を処理する必要があります。 – SripadRaj