Commit 800f67e4 authored by liuyang's avatar liuyang

APK图片抓取识别及轮播流地址抓取, 分离service和界面,避免程序在后台被杀

#BYLSERVER-1438
parent 474563b9
......@@ -9,7 +9,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<application
android:allowBackup="true"
......@@ -30,7 +29,7 @@
<activity android:name=".CaptureActivity" />
<activity android:name=".activity.PackageListActivity" />
<service android:name=".service.BylRobotService" />
<service android:name=".service.BylRobotService"/>
<service android:name=".service.BylWebService" />
<receiver android:name=".service.BootBroadcastReceiver">
......
......@@ -56,6 +56,11 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
this.appInfoAdapter = AppConfigAdapter()
listView.adapter = this.appInfoAdapter
listView.setOnItemClickListener { _, _, position, _ ->
val itemData = this.appInfoAdapter.getItem(position) as ApkInfo
AdbUtil.launchApp("${itemData.packageName}/${itemData.launcher}")
}
initRefreshTimer()
val hasRoot = AdbUtil.checkRootPermission()
......@@ -172,13 +177,13 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
Log.i(TAG, "startRobot...")
val intent = Intent(Constants.ACTION_LOCAL_SERVICE)
intent.putExtra(Constants.KEY_CMD, Constants.CMD_START)
LocalBroadcastManager.getInstance(this).sendBroadcast(intent)
sendBroadcast(intent)
}
private fun stopRobot() {
val intent = Intent(Constants.ACTION_LOCAL_SERVICE)
intent.putExtra(Constants.KEY_CMD, Constants.CMD_STOP)
LocalBroadcastManager.getInstance(this).sendBroadcast(intent)
sendBroadcast(intent)
}
override fun onProtocolFailed(protocol: IProtocol?) {
......@@ -263,8 +268,9 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
else
itemView = convertView as AppConfigListItem
val itemData = dataList[position]
itemView.setData(dataList[position])
val drawable = getAppIcon(dataList[position].packageName)
val drawable = getAppIcon(itemData.packageName)
drawable?.run {
itemView.setIcon(this)
}
......
......@@ -397,6 +397,7 @@ class Task : Thread, IAppBaseCallback {
Log.i(TAG, "sleep seconds:$seconds")
try {
Thread.sleep((seconds * 1000).toLong())
// AdbUtil.exeCmdEcho("sleep $seconds", true)
} catch (e: Exception) {
e.printStackTrace()
}
......
......@@ -48,13 +48,13 @@ class BylRobotService: Service(), IAppBaseCallback {
super.onCreate()
FtpManager.instance.start()
initBroadcast()
// requestAppList()
requestAppList()
}
private fun initBroadcast() {
Log.i(TAG, "initBroadcast...")
val intentFilter = IntentFilter(Constants.ACTION_LOCAL_SERVICE)
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, intentFilter)
registerReceiver(broadcastReceiver, intentFilter)
}
private fun requestAppList() {
......@@ -93,7 +93,7 @@ class BylRobotService: Service(), IAppBaseCallback {
super.onDestroy()
stopTask()
FtpManager.instance.stop()
LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver)
unregisterReceiver(broadcastReceiver)
}
override fun onProtocolFailed(protocol: IProtocol?) {
......@@ -113,6 +113,8 @@ class BylRobotService: Service(), IAppBaseCallback {
TaskManager.instance.add(task)
}
}
loadTask()
}
}
}
\ No newline at end of file
......@@ -110,7 +110,7 @@ class TaskManager {
}
}
Thread.sleep(3 * 1000)
Thread.sleep(5 * 1000)
}
}
}, 0, RUN_TASK_PERIOD)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment