topActivity.getPackageName only returns launcher or my application Lock , how do i fix this
I am trying to be able to make an aspect of my application lock other apps should they visited, using the code I have seen from the sites below. My issue here is that the app is not detecting other apps that I have opened and only outputs com.sec.android.app.launcher when I have not got the main lock application open. I have used the permission below as the others found were depreciated. Atm I understand that my program will only go to the lockscreen activity should I be on my lock app but if I change that to another package it doesnt work.
I have used these links and various others to try remedy the situation but am quite stuck, I dont understand what I am doing wrong.
Android lock application
Blocking android apps programmatically
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
public class MyService extends Service{
CountDownTimer check;
@Override
public IBinder onBind(Intent arg0)
return null;
public void heh()
check = new CountDownTimer(5000, 5000)
@Override
public void onTick(long millisUntilFinished)
//Do nothing here
@Override
public void onFinish()
PackageManager packageManager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appList = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(packageManager));
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for (int i = 0; i < packs.size(); i++)
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
if ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)
continue;
// skip system apps if they shall not be included
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
// List<ActivityManager.RunningAppProcessInfo> RunningApp = mActivityManager.getRunningAppProcesses();
// ActivityManager.RunningAppProcessInfo apr = RunningApp.get(0);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getPackageName();
// String activityOnTops = apr.processName;
Toast.makeText(MyService.this, "Activity is: " + activityOnTop, Toast.LENGTH_LONG).show();
if (activityOnTop.contains("com.example.heh.lock"))
Intent lockIntent = new Intent(MyService.this, LockScreen.class);
lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyService.this.startActivity(lockIntent);
else
this.cancel();
this.start();
;
@Override
public void onCreate()
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
heh();
// usageAccessSettingsPage();
// hmm();
check.start();
java android android-studio permissions package-managers
add a comment |
I am trying to be able to make an aspect of my application lock other apps should they visited, using the code I have seen from the sites below. My issue here is that the app is not detecting other apps that I have opened and only outputs com.sec.android.app.launcher when I have not got the main lock application open. I have used the permission below as the others found were depreciated. Atm I understand that my program will only go to the lockscreen activity should I be on my lock app but if I change that to another package it doesnt work.
I have used these links and various others to try remedy the situation but am quite stuck, I dont understand what I am doing wrong.
Android lock application
Blocking android apps programmatically
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
public class MyService extends Service{
CountDownTimer check;
@Override
public IBinder onBind(Intent arg0)
return null;
public void heh()
check = new CountDownTimer(5000, 5000)
@Override
public void onTick(long millisUntilFinished)
//Do nothing here
@Override
public void onFinish()
PackageManager packageManager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appList = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(packageManager));
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for (int i = 0; i < packs.size(); i++)
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
if ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)
continue;
// skip system apps if they shall not be included
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
// List<ActivityManager.RunningAppProcessInfo> RunningApp = mActivityManager.getRunningAppProcesses();
// ActivityManager.RunningAppProcessInfo apr = RunningApp.get(0);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getPackageName();
// String activityOnTops = apr.processName;
Toast.makeText(MyService.this, "Activity is: " + activityOnTop, Toast.LENGTH_LONG).show();
if (activityOnTop.contains("com.example.heh.lock"))
Intent lockIntent = new Intent(MyService.this, LockScreen.class);
lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyService.this.startActivity(lockIntent);
else
this.cancel();
this.start();
;
@Override
public void onCreate()
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
heh();
// usageAccessSettingsPage();
// hmm();
check.start();
java android android-studio permissions package-managers
add a comment |
I am trying to be able to make an aspect of my application lock other apps should they visited, using the code I have seen from the sites below. My issue here is that the app is not detecting other apps that I have opened and only outputs com.sec.android.app.launcher when I have not got the main lock application open. I have used the permission below as the others found were depreciated. Atm I understand that my program will only go to the lockscreen activity should I be on my lock app but if I change that to another package it doesnt work.
I have used these links and various others to try remedy the situation but am quite stuck, I dont understand what I am doing wrong.
Android lock application
Blocking android apps programmatically
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
public class MyService extends Service{
CountDownTimer check;
@Override
public IBinder onBind(Intent arg0)
return null;
public void heh()
check = new CountDownTimer(5000, 5000)
@Override
public void onTick(long millisUntilFinished)
//Do nothing here
@Override
public void onFinish()
PackageManager packageManager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appList = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(packageManager));
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for (int i = 0; i < packs.size(); i++)
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
if ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)
continue;
// skip system apps if they shall not be included
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
// List<ActivityManager.RunningAppProcessInfo> RunningApp = mActivityManager.getRunningAppProcesses();
// ActivityManager.RunningAppProcessInfo apr = RunningApp.get(0);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getPackageName();
// String activityOnTops = apr.processName;
Toast.makeText(MyService.this, "Activity is: " + activityOnTop, Toast.LENGTH_LONG).show();
if (activityOnTop.contains("com.example.heh.lock"))
Intent lockIntent = new Intent(MyService.this, LockScreen.class);
lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyService.this.startActivity(lockIntent);
else
this.cancel();
this.start();
;
@Override
public void onCreate()
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
heh();
// usageAccessSettingsPage();
// hmm();
check.start();
java android android-studio permissions package-managers
I am trying to be able to make an aspect of my application lock other apps should they visited, using the code I have seen from the sites below. My issue here is that the app is not detecting other apps that I have opened and only outputs com.sec.android.app.launcher when I have not got the main lock application open. I have used the permission below as the others found were depreciated. Atm I understand that my program will only go to the lockscreen activity should I be on my lock app but if I change that to another package it doesnt work.
I have used these links and various others to try remedy the situation but am quite stuck, I dont understand what I am doing wrong.
Android lock application
Blocking android apps programmatically
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
public class MyService extends Service{
CountDownTimer check;
@Override
public IBinder onBind(Intent arg0)
return null;
public void heh()
check = new CountDownTimer(5000, 5000)
@Override
public void onTick(long millisUntilFinished)
//Do nothing here
@Override
public void onFinish()
PackageManager packageManager = getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appList = packageManager.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(packageManager));
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for (int i = 0; i < packs.size(); i++)
PackageInfo p = packs.get(i);
ApplicationInfo a = p.applicationInfo;
if ((a.flags & ApplicationInfo.FLAG_SYSTEM) == 1)
continue;
// skip system apps if they shall not be included
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
// List<ActivityManager.RunningAppProcessInfo> RunningApp = mActivityManager.getRunningAppProcesses();
// ActivityManager.RunningAppProcessInfo apr = RunningApp.get(0);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getPackageName();
// String activityOnTops = apr.processName;
Toast.makeText(MyService.this, "Activity is: " + activityOnTop, Toast.LENGTH_LONG).show();
if (activityOnTop.contains("com.example.heh.lock"))
Intent lockIntent = new Intent(MyService.this, LockScreen.class);
lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyService.this.startActivity(lockIntent);
else
this.cancel();
this.start();
;
@Override
public void onCreate()
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
heh();
// usageAccessSettingsPage();
// hmm();
check.start();
java android android-studio permissions package-managers
java android android-studio permissions package-managers
asked Nov 15 '18 at 16:44
JstormJstorm
13
13
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53324143%2ftopactivity-getpackagename-only-returns-launcher-or-my-application-lock-how-do%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53324143%2ftopactivity-getpackagename-only-returns-launcher-or-my-application-lock-how-do%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown