Android实例-为程序创建快捷方式(未测试)
结果:
1.因为只有小米手机,没有三星手机,没法测试。如果哪位神测试过的话,记得M我哦,谢了。
实例代码:
1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, 8 FMX.Controls.Presentation; 9 10 type 11 TForm1 = class(TForm) 12 Label1: TLabel; 13 Button1: TButton; 14 procedure Button1Click(Sender: TObject); 15 private 16 { Private declarations } 17 public 18 { Public declarations } 19 end; 20 21 var 22 Form1: TForm1; 23 24 implementation 25 uses 26 //Androidapi.JNI.JavaTypes, 网上的大神说引入,但我没看到哪里要用 27 //FMX.Platform.Android, 28 //AndroidApi.Jni.App, 29 AndroidAPI.jni.OS,//需要引入 30 Androidapi.JNI.GraphicsContentViewText,//需要引入 31 AndroidApi.JniBridge,//需要引入 32 Androidapi.Helpers;//需要引入 33 {$R *.fmx} 34 {$R *.NmXhdpiPh.fmx ANDROID} 35 36 procedure TForm1.Button1Click(Sender: TObject); 37 {$IFDEF ANDROID} 38 var 39 ShortcutIntent: JIntent; 40 addIntent: JIntent; 41 wIconIdentifier: integer; 42 wIconResource: JIntent_ShortcutIconResource; 43 {$ENDIF} 44 begin 45 {$IFDEF ANDROID} 46 ShortcutIntent := TJIntent.JavaClass.init(SharedActivityContext, SharedActivityContext.getClass); 47 ShortcutIntent.setAction(TJIntent.JavaClass.ACTION_MAIN); 48 49 addIntent := TJIntent.Create; 50 addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_INTENT, TJParcelable.Wrap((shortcutIntent as ILocalObject).GetObjectID)); 51 addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_NAME, StringToJString(Application.Title)); 52 addIntent.setAction(StringToJString('com.android.launcher.action.INSTALL_SHORTCUT')); 53 54 // get icon resource identifier //请将下划线红色部分改为你的项目名称即可,其它不用修改。 55 wIconIdentifier := SharedActivity.getResources.getIdentifier(StringToJString('ic_launcher'), StringToJString('drawable'), StringToJString('com.embarcadero.Project1')); 56 wIconResource := TJIntent_ShortcutIconResource.JavaClass.fromContext(SharedActivityContext, wIconIdentifier); 57 // set icon for shortcut 58 addIntent.putExtra(TJIntent.JavaClass.EXTRA_SHORTCUT_ICON_RESOURCE, TJParcelable.Wrap((wIconResource as ILocalObject).GetObjectID)); 59 60 SharedActivityContext.sendBroadcast(addIntent); 61 {$ENDIF} 62 end; 63 64 end.
作者:疯狂Delphi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我


【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步