title: Delphi Firemonkey - Assigning Custom Alert to Notification Channel in Android
body: <p>I'm trying to create a set of notification channels with custom alerts so end users can identify the type of alert from audio alone. The handsets we're targeting are all Android 8 or greater, and thus assigning</p>
  <pre><code>Notification.Soundname := &lt;path here&gt;
  </code></pre>
  <p>No longer functions, and the notification plays the default sound for the channel.</p>
  <p>Furthermore, on channel creation, there is no sound property or variable to assign.</p>
  <p>I've  been trawling through the JNI units supplied with Delphi 10.4.1 and in <code>Androidapi.JNI.App.pas</code>, lines 1797, 1805, 1816 there is this code:</p>
  <pre class="lang-pascal prettyprint-override"><code>//function getAudioAttributes: JAudioAttributes; cdecl;
  //function getSound: Jnet_Uri; cdecl;
  //procedure setSound(sound: Jnet_Uri; audioAttributes: JAudioAttributes); cdecl;
  </code></pre>
  <p>Which sounds like exactly what I'm looking for, but uncommenting this code and adding <code>Androidapi.JNI.Media</code> into the <code>uses</code> clause for the unknown types ends in a circular reference.</p>
  <p>How can I achieve my goal?</p>