精华内容
下载资源
问答
  • 安卓自动启动软件.zip 安卓版本设置开机自动启动软件,PICO VR头盔开机自启动软件安卓apk安装程序,流程方便有效,傻瓜模式,谁用谁知道。
  • 管理安卓自启动程序

    2012-03-12 10:12:49
    管理安卓自启动程序
  • 安卓自启动demo

    2015-12-11 23:29:21
    安卓app下接收广播做自启动的demo,利用接收桌面广播,实现apk自启动的功能。
  • 安卓自带启动

    2012-10-13 16:42:20
    安卓自带的启动器(桌面),经本人多方查找,好不容易才收集来的哦,一起来下载用用看吧。 PS:修改桌面图标为4*8架构排列方式。
  • 资源包括APP应用及文档使用介绍,可以随意设置启动时间,启动效果,不需要使用时可以卸载。使用这个应用时,请务必详细查看文档说明
  • 安卓自启动软件

    2014-10-23 07:39:41
    需root,可以禁止软件开机启动,省电必备
  • Pico 的安卓自启动

    2019-10-24 11:10:43
    Pico的自启动非常简单 把应用的包名写在创建的config.txt文件中并将config.txt文件放在设备根目录,安装应用,重启设备。就可以通过配置文件开机自启动第三方应用的. 具体如下: 1.创建config.txt 2.将config.txt放...

    Pico的自启动非常简单
    把应用的包名写在创建的config.txt文件中并将config.txt文件放在设备根目录,安装应用,重启设备。就可以通过配置文件开机自启动第三方应用的.
    具体如下:
    1.创建config.txt
    在这里插入图片描述
    2.将config.txt放入设备根目录
    在这里插入图片描述
    这样就能在pico上自启动了

    展开全文
  • 安卓自启动源码

    2015-06-26 14:17:01
    Android开机自启动程序 背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字 符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动...

    Android开机自启动程序

    背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字
    符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之
    即可。记住,Android框架说:Don''t call me, I''ll call you back。我们要做的是做好接收这个消息的准备,而
    实现的手段就是实现一个BroadcastReceiver。

    1、界面Activity,BootStartDemo.java文件

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class BootStartDemo extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // 无title
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            // 全屏
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.main);
            new Thread() {
                public void run() {
                    try {
                        /*  10秒后关闭页面*/
                        sleep(10000);
                    catch (Exception e) {
                        e.printStackTrace();
                    finally {
                        finish(); // 关闭页面
                    }
                }
            }.start();
     
        }
    }

    这段代码很简单,当Activity 启动时,会显示TextView,用它显示你想显示的字样,并且这个页面只显示10秒后消失。

    2、接收广播消息:BootBroadcastReceiver.java

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class BootBroadcastReceiver extends BroadcastReceiver {
        static final String action_boot="android.intent.action.BOOT_COMPLETED";
     
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(action_boot)){
                Intent ootStartIntent=new Intent(context,BootStartDemo.class);
                ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(ootStartIntent);
            }
     
        }
     
    }

    该类继续自 BroadcastReceiver,覆载方法 onReceive 中,检测接收到的 Intent 是否符合
    BOOT_COMPLETED,如果符合,则启动BootStartDemo这个Activity。

    3、配置文件

    (1)AndroidManifest.xml :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="utf-8"?>
    <!-- 这是一个开机自启动程序 -->
          package="com.ajie.bootstartdemo"
          android:versionCode="1"
          android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".BootStartDemo"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        <span style="color: #ff00ff;"><receiver android:name=".BootBroadcastReceiver">
            <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>
    </span>    </application>
    <span style="color: #ff00ff;"><strong><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission></strong>
    </span></manifest>

    注意其中颜色标红那一部分,该节点向系统注册了一个 receiver,子节点 intent-filter 表示接收
    android.intent.action.BOOT_COMPLETED 消息。并且还要配置android.permission.RECEIVE_BOOT_COMPLETED权限。

    (2)Layout文件,main.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
         
        >
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/boottext"
        android:textColor="#5F2DD2"
        android:background="#FFFFFF"
        android:textSize="60px"
        android:gravity="center_horizontal"
        />
    </LinearLayout>

    完成后,编译出apk包,安装到模拟器或手机中。关机,重新开机,就会显示BootStartDemo这个Activity显示出来的页面。

    展开全文
  • 1. 介绍这里介绍的是基于开启selinux的Android 4.4及以上版本添加自启用应用... 为sshd添加自启动在前面文章中, 笔者为sshd添加自启动由于selinux的存在一直失败这里作为一个补充为sshd添加seplicy以保证能成功启动...

    1. 介绍

    这里介绍的是基于开启selinux的Android 4.4及以上版本添加自启用应用的方法

    2. 关于selinux

    Android下的selinux被称为SEAndroid, 其原理可以参考Linux下的selinux, 这里不详细介绍

    3. 为sshd添加自启动

    在前面文章中, 笔者为sshd添加自启动由于selinux的存在一直失败

    这里作为一个补充为sshd添加seplicy以保证能成功启动

    3.1 修改init.rc

    对于CM, 其init.rc位于/system/core/rootdir/目录下

    笔者这里不使用启动start-sshd脚本的方法, 而直接启动应用程序,

    在init.rc将sshd启动配置修改如下

    service sshd /system/bin/sshd -f /system/etc/ssh/sshd_config -D

    class main

    user  root

    oneshot

    3.2 添加sshd.te文件

    为sshd定义sepolicy

    Android默认的sepolicy位于external/sepolicy/

    而厂商自定义sepolicy通常位于devices/platform/platform-sub/sepolicy/

    对于i9100, 位于device/samsung/galaxys2-common/selinux

    对于CM, 我们添加到external/sepolicy/目录下即可

    sshd.te内容如下, 这里只是申明, 并没有规则

    # sshd daemon

    type sshd, domain;

    type sshd_exec, exec_type, file_type;

    init_daemon_domain(sshd)

    同时要保证sshd.te文件要编译到sepolicy中, 部分系统可能需要修改external/sepolicy/Android.mk

    将sshd.te加入BOARD_SEPOLICY_UNION中

    笔者使用的CM会自动添加external/sepolicy/*.te, 故只要添加文件即编译到sepolicy中

    3.3 修改file_contexts

    file_contexts位于external/sepolicy/目录下, 厂商同样也有自定义该

    该文件通过正则表达式来描述系统文件的安全上下文

    为sshd加入如下内容

    /system/bin/sshd u:object_r:sshd_exec:s0

    ...

    /data/ssh(/.*)?u:object_r:sshd_data_file:s0

    上面的内容将sshd定义为sshd_exec文件类型, 将sshd配置文件设置为sshd_data_file类型

    同时修改external/sepolicy/file.te, 定义sshd_data_file类型

    # /data/ssh - sshd conf files

    type sshd_data_file, file_type, data_file_type;

    3.4 修改selinux模式

    在CentOS中selinux有如下三种模式

    # SELINUX= can take one of these three values:

    # enforcing  - SELinux security policy is enforced.

    # permissive - SELinux prints warnings instead of enforcing.

    # disabled   - No SELinux policy is loaded.

    而在Android中则精简为enforcing (1)和permissive (0)两种模式

    enforcing模式会严格执行权限操作, 一旦越权则禁止运行; permissive则只是记录行为, 并不终止运行

    我们的目的是为了让sshd工作在enforcing模式下, 这里先设置为permissive模式

    selinux相关命令如下

    # getenforce

    Enforcing

    # setenforce 0

    # getenforce

    Permissive

    但是上面的命令只能临时生效, 重启后就恢复为默认的模式(enforcing)

    所以我们需要编译出默认就是permissive模式的Android版本, 方法有下面两种

    3.4.1 通过脚本设置selinux模式

    参考的做法

    写一个脚本, 在脚本中设置selinux模式, 放在init.d或者su.d目录下, 让init或者su在启动时执行

    笔者没有使用该方法, 因为感觉对sshd不一定起作用, 而且这也不是标准做法

    3.4.2 配置默认selinux模式

    在参考了解到

    selinux由init进程(system/core/init/init.cpp)来初始化, 调用时序为

    main() -> selinux_initialize() -> selinux_is_disabled()/selinux_is_enforcing()

    -> ALLOW_DISABLE_SELINUX -> selinux_status_from_cmdline()

    其中ALLOW_DISABLE_SELINUX宏来判断selinux是否允许被禁用(包括disable和permissive), 否则后面不用再进行判断

    ALLOW_DISABLE_SELINUX是在编译时就制定, 位于system/core/init/Android.mk(userdebug和eng为1)

    selinux_status_from_cmdline()通过读取内核传递的命令行中androidboot.selinux的值来判断selinux模式

    判读依据为disabled和permissive或其他

    在笔者的Android上, 命令行参数如下

    # cat /proc/cmdline

    console=ttySAC2,115200 consoleblank=0 androidboot.hardware=smdk4210 loglevel=4 console=ram sec_debug.enable=0 sec_debug.enable_user=0 c1_watchdog.sec_pet=5 sec_log=0x100000@0x4d900000 s3cfb.bootloaderfb=0x5ec00000 ld9040.get_lcdtype=0x2 consoleblank=0 lpj=3981312 vmalloc=144m

    那么我们可以配置内核命令行参数来控制selinux的默认模式

    内核命令行参数是在编译时通过BOARD_KERNEL_CMDLINE来指定

    笔者使用的i9100中该值位于 device/samsung/galaxys2-common/BoardCommonConfig.mk

    找到对应位置在后面加上androidboot.selinux=permissive

    3.5 编译Android

    在上面的修改之后, 重新编译Android

    笔者使用lunch xxx命令重新编译升级后发现selinux仍然是enforcing模式

    通过/proc/cmdline获取内核命令发现并没有生效

    查看编译中间件$PACKG/BOOT/cmdline, $PACKG/BOOT/cmdline也是如此

    $PACKG = out/target/product/i9100/obj/PACKAGING/target_files_intermediates/

    于是笔者删除$PACKG目录下的所有内容, 再次编译升级

    这次仍然没有成功, 也不清楚是什么原因, 这卧槽谁受得了

    懒得去折腾了, 修改selinux_is_enforcing()函数直接返回SELINUX_PERMISSIVE

    3.6 sshd权限

    3.6.1 截取avc log

    此时sshd应该已经成功启动, 为了查看所有sshd需要的权限, 使用ssh client进行一次连接

    同时连接sftp及scp,  传递文件等动作

    然后通过logcat截取log, 然后找到所有sshd相关的log

    12-13 19:28:25.050  2009  2009 I sshd    : type=1400 audit(0.0:15): avc: denied { open

    } for name="ssh_host_rsa_key" dev=mmcblk0p10 ino=49165 scontext=u:r: sshd

    :s0 tcontext=u:object_r: system_data_file

    :s0 tclass= file

    permissive=1

    3.6.2 生成规则

    对照被deny的项目可以按照如下方法来生产规则

    scontext tcontext        tclass avc denied

    allow sshd system_data_file: file  open

    网上称使用audit2allow工具可以批量生成规则

    由于在我的CentOS 7上一直提示指定policy文件, 不深究

    3.6.3 添加规则

    将所有生成的规则加入到sshd.te中, 然后重新编译升级

    sshd.te文件内容如下

    # sshd daemon

    type sshd, domain; type sshd_exec, exec_type, file_type; #init_daemon_domain(sshd) net_domain(sshd) allow sshd self:capability { setuid setgid net_admin net_raw net_bind_service }; allow sshd sshd_exec:file execute_no_trans; allow sshd sshd_data_file:file { open read create getattr setattr append write link unlink rename }; allow sshd sshd_data_file:dir { create setattr add_name remove_name rmdir rename }; allow sshd ptmx_device:chr_file { open read write ioctl getattr setattr }; allow sshd devpts:chr_file { open read write ioctl getattr setattr }; allow sshd shell_exec:file rx_file_perms; allow sshd system_file:file rx_file_perms;

    上面的方法在一定程度上适用, 但部分功能仍然受限制

    不折腾了, init.cpp中的修改已经完全够用了

    4. 应用层的自启动

    上面的自启动是基于C或者说底层的自启动,下面介绍一种在应用层面或者Java层面的自启动方法

    展开全文
  • 在应用程序启动之前,往往需要在Android启动过程中去对系统做一些设置,如修改某些文件夹的属主和文件的权限,本文实现在init.rc中调用shell脚本,而所有对系统资源的修改和配置都在此shell脚本中实现。1、在system/...

    在应用程序启动之前,往往需要在Android启动过程中去对系统做一些设置,如修改某些文件夹的属主和文件的权限,本文实现在init.rc中调用shell脚本,而所有对系统资源的修改和配置都在此shell脚本中实现。

    1、在system/core/rootdir/etc/init.djstava.sh脚本文件,以开机获取IP地址为例,脚本内容可如下

    #! /system/bin/sh

    ifconfig eth0 192.168.18.200 netmask 255.255.255.0 up

    route add default gw 192.168.18.1 dev eth0

    2、修改system/core/rootdir/Android.mk文件,增加语句

    copy_from += etc/init.djstava.sh

    3、修改device/$(硬件平台)/init.rc文件,增加语句

    将mount yaffs2 mtd@system /system ro remount 改为

    mount yassf2 mtd@system /system rw remount

    chmod 755 /system/etc/init.djstava.sh

    chown root shell /system/etc/init.djstava.sh

    service eth0_set /system/etc/init.djstava.sh

    oneshot

    4、设置dns,修改system/core/rootdir/init.rc,在setprop net.tcp.buffersize.gprs命令后增加如下语句

    setprop net.dns1 211.167.97.67

    setprop net.dns2 202.96.209.133

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • 安卓开机自启动

    2020-11-06 15:16:13
    安卓开机自启动 一、前言 在安卓3.0之前谷歌没有对Android系统权限做太多的限制,所以一下系统级别的功能可以无限制的使用,比如开机、关机、重启的广播。所以为了用户安全,禁止恶意软件利用系统安全漏洞,谷歌在...
  • 安卓开机自启动程序

    2015-05-25 16:58:53
    安卓开机 重启 自启动程序 亲测可用
  • 安卓设置自启动程序

    2016-02-24 16:09:46
    安卓开机默认启动程序设置。类似于windows的启动菜单功能。安装后请执行一次选择要启动的程序
  • 可以实现安卓开机时自动启动开发的应用程序!此demo直接导入运行即可
  • 可以把安卓手机中开机自动运行的软件禁用。
  • 安卓开机自启动app,安卓开机启动自定义apk 亲测可用,实测可用,android studio设置开机启动 android开机启动app,android开机启动自己的app的方法: 1. 设置程序开机自启动是常用的功能,如何实现呢? 在 Android...
  • 制作android安卓开机启动的app.zip
  • 安卓开发 ,开机自启动 demo
  • 安卓app下接收广播做自启动的demo,利用接收桌面广播,实现apk自启动的功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 安卓手机开机自启动Demo 这里讲接收广播的方法 1.要让app在开机之后自启动,需要去接收一个开机的广播;所以要去注册一个接收开机启动的广播。广播注册分俩种,这里用静态注册的广播。 2.静态注册好了以后,在...
  • 安卓篇.安卓应用实现开机自启动

    千次阅读 2019-03-27 17:33:23
    安卓应用实现开机自启动步骤第一步(IndexActivity是我应用的启动页面,大家替换成自己的启动页面)第二步(注册静态广播接收者)第三步(添加权限) 步骤 编写广播接收者,监听对应的意图行为,并进行逻辑处理; ...
  • 开机自启动设置方法: 1、 监控RECEIVE_BOOT_COMPLETED,即开机启动事件 2、监控sd卡mount事件 开机总会扫描sd卡吧? 监控sd卡事件也有类似开机启动效果。特别app安装在sd卡的情况下有些os是抓取不到RECEIVE_BOOT_...
  • 自制安卓启动

    2018-06-20 10:18:49
    1、新建一个AndroidActivity,会同时新建一...(2)如果需要修改启动页图片时,记得不要出现中文符号,包括名称中“-”一定改为“_”英文的,不然报错。 (3)修改/test/AndroidManifest.xml记得放在第一个页面的前面。
  • 采用BroadcastReceiver实现安卓应用开机自动启动使用KeyguardManager解除屏幕锁定。前面已经完成一个安卓OA,通过一个WebView访问一个适应手机大小的web oa,并且自动检测有消息时提醒。当用户关机后再开机可能会...
  • XE5 安卓写服务实现自启动.doc
  • 安卓 Activity启动自己本身刷新界面

    千次阅读 2018-12-01 22:33:11
    所以我在第一次启动后设了判断变量便可以解决这个问题,下面贴上代码: private boolean firstLanuch = false ; // 刚开始先设为false让其第一次成功启动,让其不会restartActivity(),后面活动返回时才会...
  • 安卓开机自启动demo

    千次阅读 2014-05-21 14:28:17
    * 接收系统启动完成广播 * */ @Override public void onReceive(Context context, Intent intent) { //取消系统锁屏 KeyguardManager mKeyguardManager = (KeyguardManager)context.getSystemService...
  • flutter app安卓应用开机自启动

    千次阅读 2019-05-27 11:20:25
    本人没学过原生安卓开发,从web开发...app当然用flutter了,但是自启动呢? so 从网上找了原生的一些开发经验,发现可以直接在flutter使用。 下面进入正题。 1.首先得有个flutter项目。(新建项目大家应该都会了,...
  • Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName componentName = new ComponentName(pkg, cls); intent.setComponent(componentName); startActivity(intent);...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,626
精华内容 650
关键字:

安卓自启动