android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<%activity%>
<%receivers%>
其中com.tanqin.startup很重要,是接收广播后需要处理的程序指向。因为目前没找到如何在这里可以直接调用Delphi写的类或方法或其他什么(我不否定他以后可能会可以达到这个要求 ,至少现在不行),所以这里只能使用JAVA来处理(也就说我们这里现在必须使用JAR来实现)。
重写onReceive方法
这段需要用JAVA来完成,在我上传的Demo中已完成代码并生成JAR文件,方便对JAVA不熟悉的朋友,你可以直接使用这个文件。下载地址:http://download.csdn.net/detail/tanqth/9888704
package com.tanqin;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.Context;
public class startup extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Intent sintent = new Intent();
sintent.setClassName(context, "com.embarcadero.firemonkey.F
MXNativeActivity");
sintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(sintent);
}
}
其他工作
最后,我们需要将JAR引入到Delphi工程中,完成开机启动权限的添加。
使用Demo的说明
Demo可以在csdn下载中下载使用,地址:http://download.csdn.net/detail/tanqth/9888704(博文首已链接)
下载后请注意画框的两个文件:
AndroidManifest.template.xml内容:
在工程中增加JAR包:
右键弹出菜单中选择增加:
增加后的情况:
添加开机启动权限
这样,你的APP即可以系统启动后完成自动启动了。
重要说明
有部分同学说根据博客制作后不能完成自动启动,这种情况不完全排除,然而很多手机可能只是因为一些安全设置没有开启所影响,例如手机禁止了APP自动启动,或手机上有手机管家之类的软件。可以仔细检查一下设置好就行的。
最后面的话可能是最重要的。不说三遍,哈哈哈。
————————————————
原文链接:https://blog.csdn.net/tanqth/article/details/74357209