1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
unit UFonctions;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Platform.Android,
FMX.Controls.Presentation, FMX.StdCtrls, System.Notification, FMX.Edit,FMX.Helpers.Android,
{$IFDEF ANDROID}
Androidapi.JNI,
Androidapi.Jni.JavaTypes, //JObject
Androidapi.Jni.Os, //JVibrator
Androidapi.JNI.Media, //JAudioManager
Androidapi.Helpers, //SharedActivity
Androidapi.Jni.GraphicsContentViewText, //TJContext
Androidapi.Jni.App, //TJActivity
Androidapi.JNIBridge; //ILocalObject
{$ENDIF}
Procedure Run_Fonction;
implementation
Procedure Vibrate (DP : Integer);
Var vibObj : JObject;
vibrat : JVibrator;
Begin
vibObj := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE);
vibrat := TJVibrator.Wrap((vibObj as ILocalObject).GetObjectID);
vibrat.vibrate(DP);
End;
Procedure Mode_Sound;
Var audioObj : JObject;
audioMan : JAudioManager;
Begin
audioObj := SharedActivity.getSystemService(TJContext.JavaClass.AUDIO_SERVICE);
audioMan := TJAudioManager.Wrap((audioObj as ILocalObject).GetObjectID);
If AudioMan.getRingerMode = 1 Then
audioMan.setRingerMode(TJAudioManager.JavaClass.RINGER_MODE_NORMAL)
Else
audioMan.setRingerMode(TJAudioManager.JavaClass.RINGER_MODE_VIBRATE);
Vibrate (300*AudioMan.getRingerMode);
Sleep (300*AudioMan.getRingerMode);
// audioMan.setRingerMode(TJAudioManager.JavaClass.RINGER_MODE_SILENT);
End;
procedure SetSleep(aEnable:Boolean);
var
vFlags: integer;
begin
vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_TURN_SCREEN_ON or
TJWindowManager_LayoutParams.JavaClass.FLAG_DISMISS_KEYGUARD or
TJWindowManager_LayoutParams.JavaClass.FLAG_SHOW_WHEN_LOCKED or
TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON;
if aEnable then
begin
CallInUIThread ( // uses FMX.Helpers.Android
procedure
begin
TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags);
end );
end
else
CallInUIThread (
procedure
begin
TAndroidHelper.Activity.getWindow.clearFlags (vFlags);
end );
end;
procedure Run_Fonction;
begin
SharedActivity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_FORCE_NOT_FULLSCREEN);
Mode_Sound;
SharedActivity.finish;
MainActivity.finish;
Application.MainForm.DisposeOf;
// SharedActivity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_SHOW_WHEN_LOCKED);
end;
end. |
Partager