www.91084.com

GVKun编程网logo

用Delphi实现开机自动启动程序(用delphi实现开机自动启动程序)

15

如果您想了解用Delphi实现开机自动启动程序和用delphi实现开机自动启动程序的知识,那么本篇文章将是您的不二之选。我们将深入剖析用Delphi实现开机自动启动程序的各个方面,并为您解答用delp

如果您想了解用Delphi实现开机自动启动程序用delphi实现开机自动启动程序的知识,那么本篇文章将是您的不二之选。我们将深入剖析用Delphi实现开机自动启动程序的各个方面,并为您解答用delphi实现开机自动启动程序的疑在这篇文章中,我们将为您介绍用Delphi实现开机自动启动程序的相关知识,同时也会详细的解释用delphi实现开机自动启动程序的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

用Delphi实现开机自动启动程序(用delphi实现开机自动启动程序)

用Delphi实现开机自动启动程序(用delphi实现开机自动启动程序)

总结

以上是小编为你收集整理的用Delphi实现开机自动启动程序全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Android中实现开机自动启动服务(service)实例

Android中实现开机自动启动服务(service)实例

最近在将 HevSocks5Client 移植到 Android 上了,在经过增加 signalfd 和 timerfd 相关的系统调用支持后,就可以直接使用 NDK 编译出 executable 了。直接的 native exectuable 在 Android 系统总还是不太方便用哦。还是做成一个 apk 吧,暂定只写一个 service 并开机自动启用,无 activity 的。

Java 中调用 native 程序我选择使用 JNI 方式,直接在 JNI_OnLoad 方法中调用 pthread_create 创建个线程跑原来的 main 就行啦。

复制代码 代码如下:

...
#if defined(ANDROID)
#include <jni.h>
#include <pthread.h>
#endif

int
main (int argc,char *argv[])
{
    ...
}

#if defined(ANDROID)
static void *
thread_handler (void *data)
{
    main (0,NULL);
    return NULL;
}

jint
JNI_OnLoad (JavaVM *vm,void *reserved)
{
    pthread_t thread;
    pthread_create (&thread,NULL,thread_handler,NULL);
    return JNI_VERSION_1_4;
}
#endif


Android 服务

服务主要是加载 JNI 接口的 hev-socks5-client 库,使服务跑起来。

复制代码 代码如下:

package hev.socks5;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class MainService extends Service {

        static {
                System.loadLibrary("hev-socks5-client");
        }

        public IBinder onBind(Intent intent) {
                return null;
        }
}

broadcastReceiver

ServiceReceiver 的功能就是监听系统上的 BOOT_COMPLETED 事件,用于实现自动启动服务。

复制代码 代码如下:

package hev.socks5;

import android.content.broadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class ServiceReceiver extends broadcastReceiver {

        @Override
        public void onReceive(Context context,Intent intent) {
                if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                        Intent i = new Intent(context,MainService.class);
                        context.startService(i);
                }
        }
}


AndroidManifest.xml

最后,要在 Manifest 中注册 Service 和 Receiver,增加上访问 Internet 和 Boot completed 的权限。

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="hev.socks5"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:label="@string/app_name" >
                <service android:name=".MainService">
                        <intent-filter>
                                <action android:name="hev.socks5.MainService" />
                        </intent-filter>
                </service>
                <receiver android:enabled="true" android:name=".ServiceReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                        </intent-filter>
                </receiver>
        </application>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</manifest>

Tips

此方法仅在 Android 2.3.3 及之前版本有效,之后版本如果此应用在安装后从没运行过,broadcast Receiver 将接收不到 boot completed 的 action,解决方法是使用命令手动启动一下 service。

复制代码 代码如下:
am startservice hev.socks5/.MainService

android如何实现开机自动启动Service或app

android如何实现开机自动启动Service或app

  1. 今天我们主要来探讨android怎么让一个service开机自动启动功能的实现。Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤:  
    1. 首先应该在手机的权限管理中设置应用的允许开机启动选项
  2.     第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。
  3.  
    1.     import android.content.BroadcastReceiver;  
    2.     import android.content.Context;  
    3.     import android.content.Intent;  
    4.     import android.util.Log;  
    5.       
    6.     public class BootBroadcastReceiver extends BroadcastReceiver {  
    7.         //重写onReceive方法  
    8.         @Override  
    9.         public void onReceive(Context context, Intent intent) {  
    10.             //后边的XXX.class就是要启动的服务  
    11.             Intent service = new Intent(context,XXXclass);  
    12.             context.startService(service);  
    13.             Log.v("TAG", "开机自动服务自动启动.....");  
    14.            //启动应用,参数为需要自动启动的应用的包名
    15.     Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
    16.     context.startActivity(intent );        
    17.         }  
    18.       
    19.     }  
  4.  
  5.  
  6. 第二步:配置xml文件,在receiver接收这种添加intent-filter配置  
  7.      <receiver android:name="BootBroadcastReceiver">  
  8.                 <intent-filter>  
  9.                     <action android:name="android.intent.action.BOOT_COMPLETED"></action>  
  10.                     <category android:name="android.intent.category.LAUNCHER" />  
  11.                 </intent-filter>  
  12.             </receiver>  
  13. 第三步:添加权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  

Android实现开机自动启动Service或app的方法

Android实现开机自动启动Service或app的方法

本文实例讲述了Android实现开机自动启动Service或app的方法。分享给大家供大家参考,具体如下:

第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context,Intent intent),在其中启动你想要启动的Service或app。

import android.content.broadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootbroadcastReceiver extends broadcastReceiver {
  //重写onReceive方法
  @Override
  public void onReceive(Context context,Intent intent) {
  //后边的XXX.class就是要启动的服务
  Intent service = new Intent(context,XXXclass);
  context.startService(service);
  Log.v("TAG","开机自动服务自动启动.....");
  //启动应用,参数为需要自动启动的应用的包名
  Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
  context.startActivity(intent );
  }
}

第二步:配置xml文件,在receiver接收这种添加intent-filter配置

<receiver android:name="BootbroadcastReceiver">
  <intent-filter>
   <action android:name="android.intent.action.BOOT_COMPLETED"></action>
   <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</receiver>

第三步:添加权限

复制代码 代码如下:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

android怎么实现开机自动启动wifi热点

android怎么实现开机自动启动wifi热点

@fneg 你好,想跟你请教个问题:

android怎么实现开机自动启动wifi热点?不进入设置界面

今天关于用Delphi实现开机自动启动程序用delphi实现开机自动启动程序的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android中实现开机自动启动服务(service)实例、android如何实现开机自动启动Service或app、Android实现开机自动启动Service或app的方法、android怎么实现开机自动启动wifi热点的相关知识,请在本站搜索。

本文标签: