相关疑难解决方法(0)

Android,检测其他应用程序何时启动

我正在尝试开发一个应用程序,防止用户在没有密码的情况下访问指定的应用程序.情景是......

  1. 用户点击"电子邮件"应用(例如)
  2. 我的应用检测到应用的启动
  3. 我的应用程序确认它是"电子邮件"应用程序
  4. 我的应用程序在顶部打开一个视图,要求输入密码
  5. 用户输入密码,如果正确,我的应用程序将消失,将"电子邮件"应用程序保留在最顶层

我正在做剩下的事情,只是第2部分令我感到困惑,经过多天阅读广播意图等并试图在我的试验项目中听"android.intent.action.MAIN"等我不能似乎检测到我的应用程序何时启动.

有人可以帮忙吗?我是否正确地寻找新的应用程序广播意图启动,或者我应该阅读系统日志以获取新意图,或者使用本机代码执行某些操作?

任何指针都会有所帮助,即使你无法完全回答它,我也可以做更多的研究.非常感谢.伊恩

android broadcastreceiver android-intent

91
推荐指数
6
解决办法
7万
查看次数

如何在服务中启动新线程?

我正在开发一个Android应用程序,我正在做一些繁重的工作(将来自在线网页的数据并将其解析为存储在数据库中)在服务中.目前,它需要大约20多个分钟,而这一次我的UI被卡住了.我正在考虑在服务中使用一个线程,所以我的UI不会卡住,但它会给出错误.我使用以下代码:

Thread thread = new Thread()
{
      @Override
      public void run() {
          try {
              while(true) {
                  sleep(1000);
                  Toast.makeText(getBaseContext(), "Running Thread...", Toast.LENGTH_LONG).show();
              }
          } catch (InterruptedException e) {
           Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
          }
      }
  };

thread.start();
Run Code Online (Sandbox Code Playgroud)

这个简单的代码给出了运行时错误.即使我取出while循环,它仍然无法正常工作.拜托,任何人都可以告诉我我在做什么错.显然,我直接从电子书中复制了这段代码.它可以起作用但不是.

android

29
推荐指数
3
解决办法
7万
查看次数

阻止Android应用程序启动

我已经阅读了许多关于是否可以阻止Android应用程序启动的问题,但所有答案似乎都是"不,你不能".

这个想法非常简单:我们希望用户能够使用将在其移动设备上预先安装的重新设定的应用程序集.如果用户尝试启动未授权的应用程序,系统将提示他输入要求输入PIN的对话框.如果他输入正确的PIN,那么他将能够运行该应用程序.否则,将不会运行该应用程序.

正如我之前所说,我可以找到的所有答案分为两类:"你不能那样做"和"你可以通过编写你自己的启动器应用程序来做到这一点".

但是,我已经看到了像ZDBox这样的应用程序,它们可以让你做到这一点.也就是说,使用ZDBox,您可以定义"非授权"应用程序,如果用户尝试启动其中一个,则需要输入PIN才能实际启动应用程序.如果他没有提供,应用程序将无法启动.有趣的是,ZDBox不需要root访问权来执行此操作.

所以我的问题是,我们如何阻止其他应用启动,就像ZDBox一样?

android

11
推荐指数
1
解决办法
4942
查看次数