很多流氓APP都会出现一种“非礼”手机的功能。我们进去这个APP明明什么都没做。为什么就会打开了其他应用,甚至没下载的应用都会“贴心”的帮你下好 打败流氓最好的办法就是成为流氓。废话不多说,上才艺!
首先分析需求:三款APP,其中testA通过testB调起第三方平台引用;调起后testB摧毁。也就是testA首先调起testB并传参,testB接收参数执行方法后销毁。
首先第一步创建名为testA与testB的两款应用:
testA首先要设置一个按钮来进行我们后续的操作,位置就在activity_main中
<Button
android:id="@+id/btn_open_b"
android:text="打开testB"
android:textAllCaps="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints" />
设置完按钮就开始写逻辑了,废话不多说上代码
Button button = findViewById(R.id.btn_open_b);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PackageManager packageManager = MainActivity.this.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage("com.llw.testb");
if (intent == null) {
Log.e("操作有误", "包名为空");
} else {
intent.putExtra("package_name", "需要调起app的包名");
startActivity(intent);
}
}
});
接下来是我们的testB
String package_name = getIntent().getStringExtra("package_name");
System.out.println(package_name);
if (package_name != null) {
PackageManager packageManager = MainActivity.this.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(package_name);
startActivity(intent);
//杀死程序方法
finish();
} else {
Log.e("包名为空", "停止运行");
//杀死程序方法
finish();
}
//杀死程序方法
finish();
以上就完成了