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.
时间: 2024-10-05 08:51:18

Android实例-为程序创建快捷方式(未测试)的相关文章

Android中为APP创建快捷方式的原理(自己的理解)

我们首先来看Android中为APP创建快捷方式的原理: 从图上可以看出,Android大致分7步完成快捷方式的创建: 第一步:Android系统的launcher程序会调用它的pickShortcut()方法去启动系统的pickActivity程序(应用): 第二步:pickActivity程序(应用)启动后会调用它的CheckIntentFilter()方法,去在系统中寻找可以创建快捷方式的应用有哪些,并且列举出来.只要第三方                     App用<Intent-

VC 为程序创建快捷方式的详细讲解

有时候,为了方便用户使用我们编写的程序,需要在桌面,快速启动或程序组中创建程序的快捷方式.下面就介绍在VC下如何为程序创建快捷方式. 一.得到桌面,快速启动或程序组的路径这里介绍二个win32 API函数来完成这个任务.第一个函数 获得系统特殊路径HRESULT SHGetSpecialFolderLocation( HWND hwndOwner,  int nFolder, PIDLIST_ABSOLUTE *ppidl);第一个参数表示所有者窗口句柄,一般传入NULL就可以了.第二个参数要示

Ubuntu系统应用程序创建快捷方式的方法

大家安装了最新版的Ubuntu 14.0系统之后可能觉得很不习惯,因为Ubuntu的桌面干干净净没有任何快捷方式,任务栏的图标拖不下来,右键点击程序图标也没有创建快捷方式的菜单选项: 那如何把自己经常使用的软件和文件夹放到桌面来呢?大家搜索时可能发现要通过命令行输入命令来实现,其实还有更方便的方法: 1.首先是软件快捷方式的创建方法: 进入你安装的程序目录,找到可执行文件,首先按住左键把它拖到桌面先不放开,然后按下Alt,此时出现一个菜单,选择“链接到此处”,松开之后就创建好了,你可以修改名称和

Android实例-获取程序版本号

相关资料: 383675978群号 实例源码: 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, 8 FMX.Controls.Presentation, FMX.StdCtrls,

android判断和创建快捷方式(4.03测试通过)

整理了网上的创建方式的代码,对于快捷方式的判断使用系统api获取当前启动器来处理,这样系统定制过或者启动器不一样也没关系 . 一加权限和声明目标activity <!-- 创建快捷方式 --> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.l

Android开启应用时自动创建快捷方式

今天在使用360手机助手时,发现它会自动创建一个快捷启动方式,感觉挺有意思的,所以就上网百度了一些方法,试了一下,有一种方法是挺不错的,我借鉴来用用,先保存下来,我也写了一个测试小程序. 首先,在你要启动应用的mainActivity里添加代码,在onCreate()方法里,加一个方法createShortCut(); 然后就是方法的实现: private void createShortCut() { // TODO Auto-generated method stub //创建快捷方式的In

使用 WPF 创建单实例应用程序

一个简单的例子就是大家在使用很多应用程序,例如在使用Microsoft Word 时会遇到一种情况,不管你打开多少个文档,系统一次只能加载一个winword.exe 实例.当打开新文档时,文档在新窗口显示,但是始终只有一个应用程序控制所有文档窗口:如:可以提供平铺当前所有文档中相邻窗口的文档的特性. 对于创建单实例的应用程序,WPF本身没有提供自带的解决方法,但可以通过变通的方式来实现——思路是当触发ApplicationStartup事件时,检查另一个实例是否在运行.方法是通过使用全局的mut

Android编程示例:创建机场计划模拟器应用程序

在本文中,我们将演示如何使用Android Studio和Java编程语言创建一个示例Android应用程序,从"临时"实现高级响应用户界面的功能.本文中讨论的应用程序将实现机场航班时刻表模拟的功能.在开发生命周期中,我们将实现Android应用程序的响应式用户界面,用于呈现"到达"和"离开"航班的列表,并提供动态生成和更新实时模式中的航班信息的功能. 我们将大力强调几个Java语言编程方面,并深入研究允许我们提供高级Android应用程序的编程

android创建快捷方式以及删除快捷方式

/** * * 创建快捷方式 * @param map 快捷方式图标 * @param appName 快捷方式标题 * @param appUrl 快捷方式打开的地址 * @param iconUrl 快捷方式图标地址 * * */ public static void createShortcut(Context activity ,Bitmap map ,String appName ,String appUrl ,String iconUrl){ Intent shortcut = ne