残念ながら、WinRT と WP8.1 Silverlight を混在させることはできません。
あなたが言及したように、Alarm API は WP では機能せず (「ユニバーサル」ではそれほど多くありません)、Silverlight ランタイムには GeofenceMonitor がありません。WinRT バックグラウンド タスクを使用して Silverlight プロジェクトを作成することはできますが、それではうまくいきません。
これらのアラームを場所に永続的に関連付けるか、短命にするかはわかりませんが、おそらくこれが解決策になるでしょう。
バックグラウンドで実行し続けるようにアプリを構成します。バックグラウンドで GPS 位置を追跡するアプリに使用できる専用の「LocationTracking」実行タイプがあります (詳細については、このサイトを参照してください)。
次に、PositionChanged
イベントを使用しGeolocator
て、フェンス内にいるかどうかを確認し、(ほぼ) 即時のアラームを追加できます。
const string id = "whateverYourIdIs";
var existing = ScheduledActionService.Find(id);
if(existing != null)
ScheduledActionService.Remove(id);
Alarm alarm = new Alarm(id)
{
BeginTime = DateTime.Now.AddSeconds(1),
Content = "You have reached your location!",
};
ScheduledActionService.Add(alarm);
アプリを実行し続けたくない場合は、(おそらく) ジオフェンシング バックグラウンド タスク (WinRT) 内から別のバックグラウンド タスク (SL) を起動できます。