feat(安全): 实现应用黑名单检测功能
添加新的AppSecurity插件用于获取已安装应用列表 创建后端API端点获取应用黑名单 在前端添加应用拦截界面和逻辑 使用在线黑名单检测机制
This commit is contained in:
@@ -37,14 +37,6 @@
|
||||
android:resource="@xml/file_paths"></meta-data>
|
||||
</provider>
|
||||
|
||||
<!-- ADD THIS SERVICE DECLARATION -->
|
||||
<service
|
||||
android:name="com.capacitor.backgroundrunner.RunnerService"
|
||||
android:enabled="true"
|
||||
android:exported="false"
|
||||
android:foregroundServiceType="location" />
|
||||
<!-- END OF SERVICE DECLARATION -->
|
||||
|
||||
|
||||
</application>
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.ouji.factory.myapp;
|
||||
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import com.getcapacitor.JSObject;
|
||||
import com.getcapacitor.Plugin;
|
||||
import com.getcapacitor.PluginCall;
|
||||
import com.getcapacitor.PluginMethod;
|
||||
import com.getcapacitor.annotation.CapacitorPlugin;
|
||||
import org.json.JSONArray;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@CapacitorPlugin(name = "AppSecurity")
|
||||
public class AppSecurity extends Plugin {
|
||||
|
||||
@PluginMethod
|
||||
public void getInstalledApps(PluginCall call) {
|
||||
PackageManager pm = getContext().getPackageManager();
|
||||
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
|
||||
JSONArray appPackages = new JSONArray();
|
||||
for (ApplicationInfo packageInfo : packages) {
|
||||
appPackages.put(packageInfo.packageName);
|
||||
}
|
||||
JSObject ret = new JSObject();
|
||||
ret.put("packages", appPackages);
|
||||
call.resolve(ret);
|
||||
}
|
||||
}
|
||||
@@ -6,13 +6,16 @@ import android.view.WindowManager;
|
||||
import androidx.core.view.WindowCompat;
|
||||
import androidx.core.view.WindowInsetsControllerCompat;
|
||||
import com.getcapacitor.BridgeActivity;
|
||||
import com.getcapacitor.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class MainActivity extends BridgeActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
registerPlugin(AppSecurity.class);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
// Configure window for proper native behavior
|
||||
setupNativeWindow();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user