Je fais une application qui affiche les détails des autorisations installées de l'appareil Android. Actuellement, j'affiche un AlertDialog avec l'icône pour cette autorisation mais je voudrais également envoyer une notification selon la demande de l'utilisateur. Mon code est:Y at-il de toute façon pour transformer un dessin à un int dans Android
Drawable icon;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String permission = getArguments().getString("permission");
String label = "";
String description = "";
icon = null;
try {
label = getActivity().getPackageManager().getPermissionInfo(permission, PackageManager.GET_META_DATA).loadLabel(getActivity().getPackageManager()).toString();
description = getActivity().getPackageManager().getPermissionInfo(permission, PackageManager.GET_META_DATA).loadDescription(getActivity().getPackageManager()).toString();
icon = getActivity().getPackageManager().getPermissionInfo(permission, PackageManager.GET_META_DATA).loadIcon(getActivity().getPackageManager());
} catch (Exception ignored) {}
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
.setTitle("Permission")
.setMessage("Permission: " + getArguments().getString("permission") + Character.toString((char) 10) + "Label: " + label + Character.toString((char) 10) + "Description: " + description)
.setPositiveButton("Dismiss", null)
.setCancelable(false);
if (icon != null) {
builder.setIcon(icon);
}
final AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
// Show notification here
}
});
return alertDialog;
}
Cependant, la NotificationCompat.Builder v4 ne peut pas prendre Drawable seulement un int, que dois-je faire?
'le Notification4Compat.Builder v4 ne peut pas prendre un Draw uniquement un int'. Il prend l'identifiant ** de la ressource **. Ce qui s'avère être un nombre entier. –