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

做网站公司大连百度拍照搜索

做网站公司大连,百度拍照搜索,如何做网站收录,win 2003 网站 管理员1 App 应用代码一般在开发者的项目目录下,packages/apps/YourApp/,比如app/src/main/java目录下 对于系统应用,源代码可能位于packages/apps/目录下,例如packages/apps/Settings。 用户安装的应用(从Google Play或其…

1 App

应用代码一般在开发者的项目目录下,packages/apps/YourApp/,比如app/src/main/java目录下

对于系统应用,源代码可能位于packages/apps/目录下,例如packages/apps/Settings

用户安装的应用(从Google Play或其他来源安装的APK)位于设备的/data/app/目录

系统应用(预装应用)位于/system/app//system/priv-app/目录

应用在Dalvik或ART虚拟机上运行

直接使用Framework服务

import android.myframeworkservice.IMyFrameworkService;
import android.os.ServiceManager;
import android.os.RemoteException;public class MyActivity extends Activity {private IMyFrameworkService mFrameworkService;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mFrameworkService = IMyFrameworkService.Stub.asInterface(ServiceManager.getService("myframeworkservice"));if (mFrameworkService != null) {try {mFrameworkService.myFrameworkMethod();} catch (RemoteException e) {e.printStackTrace();}}}
}

2 Framework层

Framework服务的源代码主要位于frameworks/base/services/目录

Framework服务的代码编译后成为framework.jar和其他相关JAR文件,位于设备的/system/framework/目录

Framework服务在system_server进程中运行。system_server是由Zygote进程启动的,它包含了大部分系统服务,如ActivityManagerServicePackageManagerService等。

首先增加aidl

// IMyFrameworkService.aidl
package android.myframeworkservice;interface IMyFrameworkService {void myFrameworkMethod();
}

用Java实现

// MyFrameworkService.java
package com.android.server;import android.content.Context;
import android.hardware.myhal.IMyHalService;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Slog;
import android.myframeworkservice.IMyFrameworkService;
import android.os.ServiceManager;public class MyFrameworkService extends IMyFrameworkService.Stub {private static final String TAG = "MyFrameworkService";private final Context mContext;private final IMyHalService mHalService;public MyFrameworkService(Context context) {mContext = context;mHalService = IMyHalService.Stub.asInterface(ServiceManager.getService("myhalservice"));}@Overridepublic void myFrameworkMethod() throws RemoteException {if (mHalService != null) {mHalService.myHalMethod();} else {Slog.e(TAG, "HAL service not available");}}
}

在system manager中注册

import com.android.server.MyFrameworkService;public class SystemServer {// Existing code...private void startOtherServices() {// Existing code...try {Slog.i("SystemServer", "MyFrameworkService");ServiceManager.addService("myframeworkservice", new MyFrameworkService(context));} catch (Throwable e) {reportWtf("starting MyFrameworkService", e);}// Existing code...}// Existing code...
}

3 HAL层

HAL服务的源代码通常位于hardware/interfaces/vendor/目录

HAL模块通常以共享库(.so文件)的形式存在,位于/vendor/lib/hw//system/lib/hw/目录中。

定义服务

package android.hardware.myhal;interface IMyHalService {void myHalMethod();
}

实现HAL服务,用C++

// MyHalService.cpp
#include <android/hardware/myhal/IMyHalService.h>
#include <hidl/LegacySupport.h>
#include <log/log.h>using android::hardware::myhal::V1_0::IMyHalService;
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::sp;struct MyHalService : public IMyHalService {Return<void> myHalMethod() override {ALOGI("myHalMethod called");return Void();}
};int main() {configureRpcThreadpool(1, true /*callerWillJoin*/);android::sp<IMyHalService> service = new MyHalService();if (service->registerAsService() != android::OK) {ALOGE("Failed to register MyHalService");return 1;}joinRpcThreadpool();return 0;
}

其实HAL也可以不封成AIDL。直接使用JNI,貌似也是可以的,各有利弊。

例子:

https://www.cnblogs.com/linhaostudy/p/12002068.html

http://www.rdtb.cn/news/17710.html

相关文章:

  • 电商网站建设方案模板seo搜索引擎优化是什么意思
  • 网站建设的竞争对手的分析搜索指数查询
  • 大气网站案例营销推广策划方案
  • 北京科技网站建设中国教育培训网
  • 网站建设典型经验今天全国31个省疫情最新消息
  • ftp如何转换wordpressseo好seo
  • 重庆石桥铺网站建设软文广告经典案例
  • 企业网站建设费用记入免费建站哪个比较好
  • 做百度推广去些网站加客户百度关键词检测工具
  • 狐表做网站个人怎么在百度上做推广
  • 江门网络培训学院seo推广优化的方法
  • 经常开车的微信公众号湖南竞价优化哪家好
  • 淘宝优惠券发布网站怎么做网站制作的步骤
  • 移动app网站模板友情链接发布
  • 泉州网站优化排名推广it培训班出来现状
  • 网站开发在哪里接活兰州seo
  • 汇编做网站百度站长工具链接提交
  • 企业网站制作模板cps推广联盟
  • 房地产做网站不搜索网站排行榜
  • 佛山网站建设哪家公司好网站优化检测工具
  • 制作电商网站软文宣传
  • 网站建设与管理专业教学计划seo公司 上海
  • 网站的黄金看盘软件百度站长平台怎么用
  • 网站子目录怎么做的手机百度app免费下载
  • wordpress 自定义css优化网站推广排名
  • 做网站1万多爱站网seo工具包
  • wordpress文章发布软件广东培训seo
  • 建一个app要多少钱杭州关键词推广优化方案
  • 网站右侧qq客服代码东莞seo项目优化方法
  • 如何做好网站建设工作网络推广员工作内容