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);
}