我的项目中有一个服务类(SaveMyAppsService.java
),一旦启动,它将检查前台应用程序,如果当前前台应用程序的程序包名称与包含已锁定应用程序的程序包名称的List<String> lockedApps
匹配,则应启动另一个活动CustomPinActivity
,但不起作用!PS:我可以在Logcat中看到mytag
日志。
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
lockedApps = AppPref.getInstance().getAppList(getApplicationContext());
String localPackName = checkRunningApps(); //returns package name of the current foreground app.
if( lockedApps.contains(localPackName) ){
Log.i("mytag","yes this is in lockedApps pref");
if( !allowedApps.contains( localPackName )){
Log.i("mytag","It was not allowed!!!!!!!!!!!!!!!!!!!!!!!!! but now it is");
allowedApps.add( localPackName );
previousAppName = localPackName;
Intent intent = new Intent(SaveMyAppsService.this.getApplicationContext(), CustomPinActivity.class);
intent.putExtra(AppLock.EXTRA_TYPE, AppLock.UNLOCK_PIN);
intent.putExtra("package",checkRunningApps());
startActivity( intent );
checkAllowed();
}
}
}
}, 0, 300, TimeUnit.MILLISECONDS);