package com.android.a0719_serviceselfopen;
import android.annotation.SuppressLint;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.os.IBinder;
import android.os.PowerManager;
import android.util.Log;
import android.view.Gravity;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.net.DatagramPacket;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.InterfaceAddress;
import java.net.MulticastSocket;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
//adb 命令大全
//https://blog.csdn.net/weixin_45639314/article/details/130064973
public class LunchServiceSyh extends Service {
private PowerManager.WakeLock wakeLock = null;
Timer timer = new Timer();
AlarmManager am;
PendingIntent pendingIntent;
private final boolean flag = false;
private String LASTCPUID;
private String LASTCPUID_value;
private String LASTCPUID_NULL_value;
private String CPUID;
private String LocalIP;
private String NetMask;
private String GateWay;
private String MAC;
private int RemarksIndex;
private String RemarksIndexstr="POWER:" + "No Set";
private String NewPower;
private String POWER;
private int PreviousPOWERFLag=0;
private int PreviousSTATE=1;
private int PowerChangeFlag=4;
private String LastPOWER;
private int POWERFLag = 2;
private static String wifiTag = "wlan0";//有线标志wlan0
private static String localTag = "eth0";//无线标志
//组播地址组播端口
private static String MULTICAST_IP = "225.225.225.224";
private static int MULTICAST_sendPORT = 29003;
private static int MULTICAST_receivePORT = 29002;
private String stringSave1 =null;
// private String filePath="/storage/emulated/0/Android/data/SystemNumber.txt";
private String filePath="/storage/emulated/0/storage/SystemNumber.txt";
File file = new File("/data/info.txt");
private String getmessage = "";
private Enumeration<NetworkInterface> interfaces;
private Context context;
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
{
try {
interfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}
}
private NetworkInterface eth0 = null;
@Override
public void onCreate() {
super.onCreate();
Log.i("syh", "already service ");
Toast toastCenter = Toast.makeText(getApplicationContext(), "开关机自启动服务已开启", Toast.LENGTH_LONG);
toastCenter.setGravity(Gravity.CENTER, 0, 0);
toastCenter.show();
/*系统休眠,后台service 继续运行*/
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, com.android.a0719_serviceselfopen.LunchServiceSyh.class.getName());
wakeLock.acquire();
preferences=getSharedPreferences("Settings",Context.MODE_PRIVATE);
editor=preferences.edit();
LASTCPUID_value=preferences.getString("LASTCPUID_value","");
Log.i("LASTCPUID_value", LASTCPUID_value);
/*
try {
FileInputStream inputStream = new FileInputStream(filePath);
byte[] buffer = new byte[1024];
int hasRead = inputStream.read(buffer);
StringBuilder sb = new StringBuilder();
sb.append(new String(buffer, 0, hasRead));
Log.e("syh", "读取数据=" + sb.toString());
LASTCPUID_value=sb.toString();
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
*/
onMulticastReceive();
//获得根目录/data内部存储路径
// System.out.println("Environment.getDataDirectory(): " + Environment.getDataDirectory().getPath());
timer.schedule(new TimerTask() {
@Override
public void run() {
/*
if(PowerChangeFlag ==0)
Log.i("syh", "current flag is previous");
else if(PowerChangeFlag ==1) {
if (POWERFLag == 1)
// sendCmd("input keyevent 224 ");
sendCmd("reboot");
else if (POWERFLag == 0)
sendCmd("input keyevent 223 ");
}
*/
if(( PreviousPOWERFLag ==1)&&(POWERFLag==1))//reboot
{
PreviousPOWERFLag=0;
sendCmd("reboot");
}
else if(POWERFLag==0)//&&(PreviousSTATE==1)) //灭屏
{
//PreviousSTATE=0;
sendCmd("input keyevent 223 ");
}
}
}, 0, 5000);//
}
@SuppressLint("MissingPermission")
public void onMulticastSend() {
try {
InetAddress inetAddress = InetAddress.getByName(MULTICAST_IP);
MulticastSocket multicastSocket = new MulticastSocket(MULTICAST_receivePORT);
multicastSocket.setTimeToLive(1);
multicastSocket.joinGroup(inetAddress);
//将本机的IP(这里可以写动态获取的IP)地址放到数据包里,其实server端接收到数据包后也能获取到发包方的IP的
// byte[] data = jh601a_message.message(mip,mport,"01","0000","8899aabb","ccdd");
JSONObject jo = new JSONObject();
//mac
ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Service.CONNECTIVITY_SERVICE);
@SuppressLint("MissingPermission") NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Log.i("syh ", cm.getLinkProperties(cm.getActiveNetwork()).toString());
}
}
printIpAddress();
// MAC = activeNetworkInfo.getExtraInfo();//mac
MAC = get_MAC();
LocalIP = getEtherNetIP();
// GateWay =getGateWay();
// NetMask = getIpAddressMaskForInterfaces();
jo.put("CPUID", CPUID);
jo.put("LocalIP", LocalIP);
jo.put("NetMask", NetMask);
jo.put("GateWay", GateWay);
jo.put("MAC", MAC);
jo.put("Remarks", RemarksIndexstr);//power
if (LASTCPUID != null||LASTCPUID_value!=null)
jo.put(LASTCPUID, LASTCPUID_value);
byte[] data = jo.toString().
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
本资源属于android + java开发 开机自启动activity替代开机自启动service (123个子文件)
gradlew.bat 3KB
executionHistory.bin 5.56MB
fileHashes.bin 118KB
outputFiles.bin 23KB
resourceHashesCache.bin 20KB
last-build.bin 1B
.gitignore 225B
.gitignore 50B
.gitignore 6B
build.gradle 2KB
settings.gradle 337B
build.gradle 291B
gradlew 6KB
0719_ServiceSelfOpen.app.androidTest.iml 9KB
0719_ServiceSelfOpen.app.main.iml 8KB
0719_ServiceSelfOpen.app.unitTest.iml 7KB
0719_ServiceSelfOpen.app.iml 3KB
0719_ServiceSelfOpen.iml 959B
gradle-wrapper.jar 58KB
LunchServiceSyh.java 27KB
MainActivity.java 4KB
PermissionUtil.java 3KB
BroadcastSyh.java 897B
ExampleInstrumentedTest.java 780B
ExampleUnitTest.java 394B
platform.keystore 2KB
buildOutputCleanup.lock 17B
checksums.lock 17B
executionHistory.lock 17B
dependencies-accessors.lock 17B
fileHashes.lock 17B
proguard-rules.pro 750B
file-system.probe 8B
gradle.properties 1KB
local.properties 410B
gradle-wrapper.properties 238B
cache.properties 53B
gc.properties 0B
gc.properties 0B
gc.properties 0B
ic_launcher_round.webp 8KB
ic_launcher_round.webp 6KB
ic_launcher_round.webp 4KB
ic_launcher.webp 4KB
ic_launcher_round.webp 3KB
ic_launcher.webp 3KB
ic_launcher.webp 2KB
ic_launcher_round.webp 2KB
ic_launcher.webp 1KB
ic_launcher.webp 982B
workspace.xml 7KB
ic_launcher_background.xml 5KB
AndroidManifest.xml 3KB
ic_launcher_foreground.xml 2KB
activity_main.xml 1KB
Gradle__androidx_test_espresso_espresso_idling_resource_3_4_0_aar.xml 1KB
themes.xml 1KB
Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml 1KB
Gradle__androidx_test_espresso_espresso_core_3_4_0_aar.xml 1KB
modules.xml 1KB
Gradle__androidx_recyclerview_recyclerview_1_1_0_aar.xml 1KB
Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml 1KB
Gradle__com_google_android_material_material_1_4_0_aar.xml 1015B
Gradle__androidx_transition_transition_1_2_0_aar.xml 1013B
Gradle__androidx_viewpager2_viewpager2_1_0_0_aar.xml 1013B
Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml 1004B
misc.xml 1000B
Gradle__androidx_activity_activity_1_2_3_aar.xml 995B
Gradle__androidx_fragment_fragment_1_3_4_aar.xml 995B
Gradle__androidx_test_monitor_1_4_0_aar.xml 981B
Gradle__androidx_test_ext_junit_1_1_3_aar.xml 978B
Gradle__androidx_test_runner_1_4_0_aar.xml 974B
Gradle__androidx_print_print_1_0_0_aar.xml 968B
Gradle__androidx_core_core_1_5_0_aar.xml 959B
Gradle__androidx_test_core_1_4_0_aar.xml 958B
Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml 944B
Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml 913B
Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml 912B
Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml 908B
Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml 904B
Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml 902B
Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml 898B
Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml 878B
Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml 877B
Gradle__androidx_dynamicanimation_dynamicanimation_1_0_0_aar.xml 874B
Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml 872B
Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml 866B
Gradle__junit_junit_4_13_2.xml 859B
Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml 858B
Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml 850B
Gradle__junit_junit_4_12.xml 845B
themes.xml 842B
Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml 842B
Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml 842B
Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml 836B
Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml 836B
Gradle__androidx_customview_customview_1_0_0_aar.xml 826B
Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml 825B
Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml 818B
Gradle__androidx_test_services_storage_1_4_0_aar.xml 814B
共 123 条
- 1
- 2
资源评论
茶之余味
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20240420-扬州高中小学部风雨操场转换层条件图r.dwg
- 小猫咪邮件在线发送系统源码v1.1,支持添加附件
- 永磁电机铜耗估算表-Excel-v1.0
- 参考资料-人工智能对劳动力市场的影响机制研究.pdf
- 协同供应链集成产品介绍V71sp1.rar
- 上市公司-人工智能的采纳程度面板数据(2003-2021年).xlsx
- 参考资料-人工智能技术应用对就业的影响及作用机制研究-来自制造业企业的微观证据.pdf
- 第5章spring-mvc请求映射处理
- 2023-04-06-项目笔记 - 第一百十六阶段 - 4.4.2.114全局变量的作用域-114 -2024.04.27
- 协同供应链集成产品介绍V70.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功