delphi XE5中以Andorid 启动应用程序  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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;
因为我正在学习,所以请让我知道是否有任何错误。

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.13097405433655 seconds