当前位置: 首页 > news >正文

北京建站公司推荐首推万维科技企业网站建设合同方案

北京建站公司推荐首推万维科技,企业网站建设合同方案,网站平台开发,wordpress增加头像应用场景: 在一些场景中需要系统启动以后就让应用程序运行起来,如闸机打卡系统,智能点餐系统,广告机系统等等。这个需求叫做自启动。 除全国产版本核心板以外,RK3568核心板还有工业级,商业级,连…

应用场景

在一些场景中需要系统启动以后就让应用程序运行起来,如闸机打卡系统,智能点餐系统,广告机系统等等。这个需求叫做自启动。

 

除全国产版本核心板以外,RK3568核心板还有工业级,商业级,连接器和邮票孔多种版本。全国产版本核心板与其他版本核心板完全兼容。可以支持国产和非国产核心板的无缝切换,助力产品升级和国产化项目落地。

 

RK3568 Android11实现APP自启动技术分享

平台:迅为iTOP-3568开发板

■ 第一步:添加自启服务

修改RK3568 Android11源码frameworks\base\core\java\com\android\internal\app\ResolverActivity.java文件,添加如下蓝色字体的代码。

 import java.util.Objects;

  import java.util.Set;

import java.util.concurrent.Executor;

import java.util.function.Consumer;

import android.os.SystemProperties;

import android.app.role.RoleManager;

 /**

  * This activity is displayed when the system attempts to start an Intent for

@@ -341,6 +345,18 @@ public class ResolverActivity extends Activity implements

     protected void onCreate(Bundle savedInstanceState, Intent intent,

             CharSequence title, int defaultTitleRes, Intent[] initialIntents,

             List<ResolveInfo> rList, boolean supportsAlwaysUseOption) {

             String LauncherPkg = SystemProperties.get("persist.sys.def_launherpag");

       

 if(LauncherPkg!=null/* && !isDefaultLauncher(this,LauncherPkg)*/){

            Log.v("defaultLauncher","-----found default launcher pkg:"+LauncherPkg);

            setDefaltLauncher(this,LauncherPkg);

          startDefaultLauncher(this,LauncherPkg);

            finish();

            return;

        }

         setTheme(appliedThemeResId());

         super.onCreate(savedInstanceState);

@@ -433,6 +449,47 @@ public class ResolverActivity extends Activity implements

                 intent.getAction() + ":" + intent.getType() + ":"

                         + (categories != null ? Arrays.toString(categories.toArray()) : ""));

     }

       public void setDefaltLauncher(Context context, String packageName) {

        String roleName = "android.app.role.HOME";

        boolean add = true;

        int flags = 0;

      UserHandle user = android.os.Process.myUserHandle();

        RoleManager roleManager = context.getSystemService(RoleManager.class);

        Executor executor = context.getMainExecutor();

        Consumer< Boolean > callback = successful -> {

            if (successful) {

                Log.v("defaultLauncher","set Defalt Launcher successful" );

            } else {

                Log.v("defaultLauncher","set Defalt Launcher failed ");

            }

        };

        roleManager.addRoleHolderAsUser(roleName, packageName, flags, user, executor, callback);

    }

    public void startDefaultLauncher(Context context, String packageName) {

       Intent intent = new Intent();

        PackageManager pm = context.getPackageManager();

        intent = pm.getLaunchIntentForPackage(packageName);

        if (intent != null)

            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        try {

            context.startActivity(intent);

        } catch (Exception e) {

            Log.v("defaultLauncher","start Default Launcher failed,not find package:"+packageName );

        }

    }

       public boolean isDefaultLauncher(Context context,String launcherPkg){

        Intent intent = new Intent(Intent.ACTION_MAIN);

        intent.addCategory(Intent.CATEGORY_HOME);

        ResolveInfo resolveInfo = context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);

        String currentHomePackage = resolveInfo.activityInfo.packageName;

        Log.v("defaultLauncher","-currentHomePackage:"+currentHomePackage);

        return launcherPkg.equals(currentHomePackage);

    }

     private boolean isIntentPicker() {

         return getClass().equals(ResolverActivity.class);

■ 第二步:添加APP

接下来将需要自启动的APP放到device/rockchip/rk356x/rk3568_r/preinstall_del/目录下,如果没有preinstall_del目录的话需要手动新建一个preinstall_del目录即可,然后添加以下文件Android.mk,xxx.apk(APP),preinstall.mk这三个文件。

Android.mk文件内容如下所示:

include $(call all-subdir-makefiles)

preinstall.mk文件内容:

PRODUCT_PACKAGES += xxx

xxx为APP名字,例如demo.apk。这份目录不仅是APK的预装指定位置,当您希望新增APK进行预装时,可将该APK文件复制至“preinstall_del/”目录下,并随后将APK的名称增补至“preinstall.mk”配置文件中,以完成预安装的准备工作。这样的操作确保了APK能够按照预期被系统识别并预装至目标设备中。

■ 第三步:添加APP包名

修改RK3568Android11源码文件device/rockchip/rk356x/rk3568_r/rk3568_r.mk,例如包名为:com.example.demo,在rk3568_r.mk中下面蓝色字体代码。

 PRODUCT_PROPERTY_OVERRIDES += persist.sys.timezone=Asia/Shanghai

 PRODUCT_PROPERTY_OVERRIDES += ro.vendor.hdmirotationlock=true

 #PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=HDMI-A-1

PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=DSI

PRODUCT_PROPERTY_OVERRIDES += persist.sys.def_launherpag=com.example.demo

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         修改完毕之后,保存修改的文件,重新编译Android源码,然后烧写Android镜像进行测试。

http://www.yayakq.cn/news/241241/

相关文章:

  • 网站做flash好不好微官网 入口
  • 网站论坛怎么做网站开发有很多种吗
  • 营销网站一般包括哪些内容网页设计类官网
  • 欧美做受网站视频播放网站内容填写
  • 做网站开发需要学哪些东西学院网站建设目的与意义
  • 哪个免费的网站建设好app设计网站模板免费下载
  • 做兼职打字员的网站网站建设需要用到哪些软件
  • wordpress常常被用来做什么网站自己制作logo免费 生成器
  • 注册免费的网站wordpress外部调用插件
  • 泉州seo网站管理企业logo标志设计免费
  • 做网站手机浏览全屏ui设计一个页面多少钱
  • 各大网站响应生态建设网站建设开发哪家质量好
  • 山西制作网站wordpress获取分类链接
  • 做网站开发要装什么软件高端的网站设计费用
  • 做网站写代码好还是模板龙华网站开发
  • 口碑好的秦皇岛网站建设哪里有建立个人网站能干
  • 网站建设洽谈服务器上的网站不能访问
  • 贵阳app开发公司排名怎样给网站做seo优化
  • 提交网站网站开发模块化
  • 17网站一起做网店揭阳网站建设公司四川
  • 怎么用node做网站百度地图 wordpress
  • 如何做公司网站外贸快车
  • 做商城网站产品怎么分布免费申请一个不花钱网站
  • 东莞微网站建设公司做网站生意
  • 杭州网站建设是什么济南网站建设伍际网络
  • 做同城网站需要哪些h5免费制作平台火蚁邀请函怎么写
  • 网上怎么做网站西安网站制作流程
  • 本地的番禺网站建设wordpress页面目录
  • 网站如何推广方式建立网站的文案怎么写
  • 网站建设前的分析第一小节内容网站建设的图片尺寸应该是像素