Delphi XE5中以Andorid 启动应用程序


本文整理自网络,侵删。

 
使用单位
uses
  Androidapi.JNI.JavaTypes, // StringToJString
  FMX.Helpers.Android, // SharedActivity
  Androidapi.JNI.GraphicsContentViewText; // TJIntent
使用功能
STRTOJURI
“ StrToJURI(ASource)”与“ TJnet_Uri.JavaClass.parse(StringToJString(ASource))”相同。

开启网址
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setData(StrToJURI('http://www.gesource.jp/weblog/'));
  SharedActivity.startActivity(Intent);
end;
打开PDF文件
var
  Intent: JIntent;
  FileName: string;
begin
  FileName := …; //PDF文件名
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setDataAndType(StrToJURI(FileName),
    StringToJString('application/pdf'));
  SharedActivity.startActivity(Intent);
end;
开弦
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
  Intent.setType(StringToJString('text/plain'));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString('内部测试'));
  SharedActivity.startActivity(Intent);
end;
打开地图(Google地图)
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setData(StrToJURI('geo:0,0?q=大阪市'));
  SharedActivity.startActivity(Intent);
end;
使用Google Maps进行搜索
指定大阪站的纬度(34.701909),经度(135.494977)和步行模式(模式= w)。

var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setClassName(StringToJString('com.google.android.apps.maps'), StringToJString('com.google.android.maps.MapsActivity'));
  Intent.setData(StrToJURI('google.navigation:///?ll=34.701909,135.494977&title=地区&mode=w'));
  SharedActivity.startActivity(Intent);
end;
打开拨号器
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_DIAL);
  Intent.setData(StrToJURI('tel:090-XXXX-XXXX'));
  SharedActivity.startActivity(Intent);
end;
发送邮件
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
  Intent.setType(StringToJString('message/rfc822'));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, StringToJString('test@example.com'));
  Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString('邮件主题'));
  intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString('邮件正文'));
  SharedActivity.startActivity(TJIntent.JavaClass.createChooser(Intent,
    StrToJCharSequence('请选择邮件软件')));
end;
开启Android设定画面
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(StringToJString('android.settings.SETTINGS'));
  SharedActivity.startActivity(Intent);
end;
因为我正在学习,所以请让我知道是否有任何错误。

相关阅读 >>

Delphi md5加密base64加解密

Delphi 获取打印机纸型的例子

Delphi windows 编程[12] - 菜单与菜单资源(1-3)

Delphi 另类计算程序代码运行耗时

Delphi获取pid的父进程文件名

Delphi通过窗口标题结束指定进程函数

Delphi 10.4.1的编译器bug终于修正了!

Delphi 动态更改webbrowser数据流内容

delph 自带url编码函数 tnetencoding

settimer函数用法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...