首页 > 解决方案 > 你如何通过另一个应用程序杀死android中的应用程序?

问题描述

我正在开发一个简单的项目,该项目负责在平板电脑上启动和退出另一个已安装的应用程序(我们称之为“abc”)。其他应用程序(“abc”)已安装在平板电脑中。我可以使用 Intent 启动它。但也需要找到一种方法来退出它。

这是我的 mainActivity.java 文件的模板。

 public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final LinearLayout parent = findViewById(R.id.parent);

        Button launchApp = (Button) findViewById(R.id.button);
        Button quitApp = (Button) findViewById(R.id.button2);
    
        launchApp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.abc");
                if (launchIntent != null) {
                    startActivity(launchIntent);
                } else {
                    Toast.makeText(MainActivity.this, "There is no package available in android", Toast.LENGTH_LONG).show();
                }
            }

        });

        quitApp.setOnClickListener(new View.OnClickListener() {
            @Override
           public void onClick(View v) {
              //Add code to close the installed app on tablet ("com.abc")
           }
        });
   }
}

这也是我的 activitymanifest.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.launcherQuitterApp">

    <!--uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /!-->
    <!--uses-permission android:name="android.permission.com.abc"
        tools:ignore="ProtectedPermissions" /!-->
    <uses-permission android:name="android.permission..com.abc"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.LauncherQuitterApp">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>
    </application>
    <queries>
        <package android:name="com.abc"/>
    </queries>
</manifest>

我已经尝试了以下线程中的建议,但没有一个对我有用:

  1. 如何从包名中获取 PID?
  1. Android 权限拒绝:forceStopPackage()

标签: javaandroid

解决方案


推荐阅读