Android编程实现系统重启与关机的方法

2019-12-10 19:00:31王冬梅

另外,应用创建的任何文件都会被赋予应用的用户标识,并且正常情况下不能被其他包访问。

当通过 getSharedPreferences(String,int)、openFileOutput(String、int)或者 openOrCreate Database(String、int、SQLiteDatabase.CursorFactory)

创建一个新文件时,开发者可以同时或分别使用MODE_WORLD_READABLE 和MODE_WORLD_RITEABLE 标志允许其他包读/写此文件。当设置了这些标志后,这个文件仍然属于自己的应用程序,但是它的全局读/写和读/写权限已经设置,所以其他任何应用程序可以看到它。

关于签名:

build/target/product/security 目录中有四组默认签名供 Android.mk 在编译APK使用:

1、testkey:  普通 APK,默认情况下使用。

2、platform:该 APK 完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的 APK 所在进程的 UID 为 system。

3、shared:   该APK需要和home/contacts进程共享数据。

4、media:该APK是media/download系统中的一环。

应用程序的 Android.mk 中有一个 LOCAL_CERTIFICATE 字段,由它指定用哪个 key 签名,未指定的默认用 testkey
 
在应用层如何通过代码实现 Android 系统的重启,分享给大家。

这篇文章是在 android 系统开发的基础之上进行实践的,所以如果你是纯粹的 app 开发,可能要让你失望了。

该代码在真机上测试成功,在模拟器上面测试失败。

在 linux 下面,重启 pc,非 root 用户需要执行 sudo reboot,所以在 android 下重启机器也需要一定的权限。

应用程序界面:
 
1. 新建一个 android 工程 reboot
 
2. 编写 Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := reboot
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))