【问题标题】:Close the app programmatically (know package name)以编程方式关闭应用程序(知道包名)
【发布时间】:2013-09-05 16:50:19
【问题描述】:

我使用以下代码 sn-p 在设备上启动应用程序:

Context mContext = getContext();
String packageName = getPackageName(); //the app to launch

Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if(mIntent!=null){
     mContext.startActivity(mIntent);
}

它可以工作,应用程序启动,但是,我不知道使用packageName 关闭启动的应用程序的方法。

如果我只知道包名,如何关闭启动的应用程序?

【问题讨论】:

    标签: android performance android-layout android-intent android-package-managers


    【解决方案1】:

    您无法关闭其他应用。只有系统才能做到这一点。

    但如果您也是该应用程序的作者,您可以在该应用程序的活动中创建一个接收器,该接收器接受一个告诉它完成()活动的意图。

    【讨论】:

      【解决方案2】:

      您无法从您的应用程序中关闭其他应用程序。您的问题有一个解决方法,在基于包名称启动应用程序后,您可以发送主页意图,这将为用户提供相同的体验。

        Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
          if(mIntent!=null){
               mContext.startActivity(mIntent);
          }
      //sleep for 250ms or whatever time using handler
          Intent startMain = new Intent(Intent.ACTION_MAIN);
          startMain.addCategory(Intent.CATEGORY_HOME);
          startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
          startActivity(startMain); 
      

      【讨论】:

        猜你喜欢
        • 2011-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-27
        • 2014-11-28
        • 2016-04-25
        • 2014-05-21
        • 1970-01-01
        相关资源
        最近更新 更多