delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键
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
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 xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键"的相关文章
热门文章
- 空格后面的作为标题 ___delphi___
- 要处理的文件总行数 ___delphi___
- function TrimString(str:string):string; ___delphi_
- 把要处理的文件装入到memo1_test中,启动处理定时器ti
- 读入的内容写到Memo1_Test显示出来,测试用 ___delphi_
- textarea不能使用以下方式 ___delphi___
- 随机发布文章到栏目类别 ___delphi___
- 用pos函数来判断,在下面这一行怎么会出错呢? ___del
- delphi什么函数能判断一个字符串包含在另一字符串 ___
- delphi怎样判断字符串包含指定字符 ___delphi___