您现在的位置: 主页 > 上位机技术 > delphi > delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键
本文所属标签:
为本文创立个标签吧:

delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键

来源: 网络用户发布,如有版权联系网管删除 2020-04-04 

delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键盘、电话、拨号) //获取手机信息
function GetPhoneInfo(): string;
Var
TelephonyManager: JTelephonyManager;
TelephonyServiceNative: JObject;
begin
result := '';
TelephonyServiceNative := SharedActivityContext.getSystemService
(TJContext.JavaClass.TELEPHONY_SERVICE);
if Assigned(TelephonyServiceNative) then
TelephonyManager := TJTelephonyManager.Wrap
((TelephonyServiceNative as ILocalObject).GetObjectID);
result := JStringToString(TelephonyManager.getLine1Number);//取得手机号
//TelephonyManager.getDeviceId 取IMEI
//TelephonyManager.getLine1Number 取MSISDN 手机号,大部分SIM卡中不会写入这个信息
//TelephonyManager.getSimSerialNumber 取ICCID
//TelephonyManager.getSubscriberId 取IMSI 运营商实际上是用这个查询的
end;


//手机振动
uses FMX.Helpers.Android, Androidapi.JNI.App, Androidapi.JNI.Os, Androidapi.JNIBridge, FMX.StdCtrls;
procedure TForm1.Button2Click(Sender: TObject);
function GetVibratorArray(const AintArr:array of int64):TJavaArray;//震动规律函数
var
Lindex:integer;
begin
Result:=TJavaArray.Create(Length(AintArr));
for Lindex:=Low(AintArr) to High(AintArr) do
Result.Items [Lindex]:= AintArr[Lindex];
end;
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );//引用震动
if not LVibrator.hasVibrator then
begin
showmessage('手机不支持震动');
exit;
end;
LVibrator.vibrate(200);//震动200ms
LVibrator.cancel ;//立刻停止震动
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//调用震动规律
LVibrator.vibrate(LJavaArray,-1);//不重复, 震动一 次
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//调用震动规律
LVibrator.vibrate(LJavaArray,0);//v不停重复,大于0的参数,可以指定震动次数
end;


              查看评论 回复



嵌入式交流网主页 > 上位机技术 > delphi > delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键
 

"delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键"的相关文章

网站地图

围观()