android应用程序安装后自动打开

本文介绍了一种在Android中实现应用安装的方法,并通过广播接收器监听应用的安装状态。文章详细展示了如何创建并注册广播接收器以监听特定的动作,如应用被添加到设备上。

GetBroadcast.registerReceiver(getApplicationContext());//注册广播,用于监听应用是否安装完成

//安装apk

protected void installApk(File file) {
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setDataAndTypeAndNormalize(Uri.fromFile(file),"application/vnd.android.package-archive");
startActivity(intent);
}


import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.widget.Toast;

public class GetBroadcast extends BroadcastReceiver {

 private static GetBroadcast mReceiver = new GetBroadcast();

private static IntentFilter mIntentFilter;
public static void registerReceiver(Context context) {
mIntentFilter = new IntentFilter();
mIntentFilter.addDataScheme("package");
mIntentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);

context.registerReceiver(mReceiver, mIntentFilter);

}

public static void unregisterReceiver(Context context) { 

context.unregisterReceiver(mReceiver);

}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String packageName = intent.getData().getSchemeSpecificPart();
if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
Toast.makeText(context, "添加了新的应用", Toast.LENGTH_LONG).show();
PackageManager pm = context.getPackageManager();
Intent intent1 = new Intent();
try {
intent1 = pm.getLaunchIntentForPackage(packageName);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值