天天看點

Delphi移動應用中開發IOS與Android本地通知Delphi移動應用中開發IOS與Android本地通知

Delphi移動應用中開發IOS與Android本地通知

1、說明

本案例僅使用Delphi自身控件“TNotificationCenter”實作,為Delphi移動應用(APP)開發者提供學習幫助。

适用于Delphi XE8及以上版本中使用TNotificationCenter控件完成Android及IOS的本地通知功能,是《Delphi XE8 iOS與Android移動應用開發(APP開發)教程[完整中文版]》書中第二十章内容(詳細說明請參考本書第二十章)。

本地通知可配合服務端程式衍生開發自己的移動端消息推送功能。

《Delphi XE8 iOS與Android移動應用開發(APP開發)教程[完整中文版]》适合XE8及以上版本,需要的朋友可了解詳情:https://item.taobao.com/item.htm?id=536584650957

2、Demo下載下傳

完整Demo代碼已上傳到CSDN資源中心,點選下載下傳:http://download.csdn.net/detail/tanqth/9880793

3、主要代碼

procedure TForm1.Button1Click(Sender: TObject);
var
  MyNotification: TNotification;
begin
  // 建立 TNotification執行個體
  MyNotification := NotificationCenter1.CreateNotification;
  try
    // 設定圖示顯示通知數
    MyNotification.Number := ;
    // 設定通知提示資訊
    MyNotification.AlertBody := '使用Delphi編寫的通知資訊 ! ';
    // 注意: 最後必須将通知數發送到通知中心,才能完成顯示.
    NotificationCenter1.PresentNotification(MyNotification);
  finally
    MyNotification.DisposeOf;
  end;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Name := 'MyNotification';
    MyNotification.AlertBody := '使用Delphi編寫的定時通知資訊 !';
    // 設定10秒定時
    MyNotification.FireDate := Now + EncodeTime(, , , );
    // 向通知中心發送通知
    NotificationCenter1.ScheduleNotification(MyNotification);
  finally
    MyNotification.DisposeOf;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Title := 'MyNotification';
    MyNotification.AlertBody := '這是每分鐘重複的通知!';
    // 設定10秒定時
    MyNotification.FireDate := Now + EncodeTime(, , , );
    // 設定每分錢重複通知
    MyNotification.RepeatInterval := TRepeatInterval.Minute;
    // 向通知中心發送通知
    NotificationCenter1.ScheduleNotification(MyNotification);
  finally
    MyNotification.Free;
  end;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  //取消通知
  NotificationCenter1.CancelNotification('MyNotification');
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Name := 'MyNotification';
    MyNotification.AlertBody := '使用Delphi編寫的及時通知資訊 !';
    // 設定圖示顯示數 (iOS) 通知顯示數 (Android)
    MyNotification.Number := ;
    MyNotification.EnableSound := False;
    // 向通知中心發送通知
    NotificationCenter1.PresentNotification(MyNotification);
  finally
    MyNotification.DisposeOf;
  end;

end;

procedure TForm1.Button6Click(Sender: TObject);
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Name := 'MyNotification';
    MyNotification.AlertBody := '使用Delphi編寫的通知資訊! ';
    MyNotification.Number := ;
    //按鈕顯示内容
    MyNotification.AlertAction := '點我';
    MyNotification.HasAction := True;
    MyNotification.FireDate := Now + EncodeTime(, , , );
    NotificationCenter1.ScheduleNotification(MyNotification);
  finally
    MyNotification.DisposeOf;
  end;

end;

procedure TForm1.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
  ANotification: TNotification);
begin
  ShowMessage('這是【' + ANotification.Name + '】通知測試。');
end;
           

繼續閱讀