2014-03-06 42 views
-1

我已经做了一个apk,允许用户编辑内核的配置,并在重启后使这些更改变得粘滞我已经添加了应用程序复制到init.d文件夹中的脚本。现在问题是脚本非常多,我正在考虑在启动时使用用户的首选项来启动一个启动服务,只需在启动时执行命令就可以避免脚本并节省空间。启动时执行操作

有人可以向我解释我必须做什么吗?

+0

可能重复[如何获得在init.d下的脚本在Android中启动时执行?](http://stackoverflow.com/questions/5464713/how-to-get-a-script-in-init-d-to-execute-on-boot-in-android) – 323go

回答

1

您需要创建一个将侦听“android.intent.action.BOOT_COMPLETED”广播意图的服务。请记住,从Android 3.0开始,您至少需要运行一次应用程序才能捕获此事件。

例如,您可能会阅读this文章以了解您需要执行的操作。

+0

更多,看看这个问题的答案:http://stackoverflow.com/questio NS/5051687 /广播接收器,不接收引导完成的 – Yury

0

写入BroadcastReceiver将在设备启动时被调用。

public class BootCompleteReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 
    if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { 
     //do your stuffs here 

    } 
    } 
} 

注册广播接收器中的manifest.xml:

<receiver android:name="packageName.BootCompleteReceiver " > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
</receiver> 

添加必需的许可权的manifest.xml:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />