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

转载 2013年12月03日 23:32:42
GetBroadcast.registerReceiver(getApplicationContext());//注册广播,用于监听应用是否安装完成
//安装apk
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileURL)),
"application/vnd.android.package-archive");
startActivity(intent);
package cn.*************;
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);
// mIntentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
// mIntentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED); 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) {
// TODO Auto-generated catch block
e.printStackTrace();
}
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
} //else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
//// Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();
// } else if (Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
//// Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();
// }
}
}

相关文章推荐

Android应用程序安装位置

之所以写这篇文章,是因为原来开发的一项目,被一位老奶奶说安装包太大,她的内存空间不够。明明只有10几兆,她就是不愿意装进内部存储里面。没办法,只好解决一下。百度了一番,看到博客上很多都说在 文件中添加...

Android应用程序安装包签名

转载自:点击打开链接 1.Android 应用程序都必须被签名,系统不会安装没有进行签名的应用程序。 2.ADT 工具会自动用默认密钥和证书(~/.android/debug.keystore...

Android应用程序安装过程源代码分析

Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件...

android应用程序安装后点击打开带来的问题

前几天项目组反馈hui package cc.cc;   import android.app.Activity; import android....
  • busjb
  • busjb
  • 2014年11月07日 12:29
  • 6661

Android应用程序安装过程源代码分析

Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件...
  • ydt_lwj
  • ydt_lwj
  • 2013年01月16日 09:48
  • 395

Android应用程序安装位置(App Install Location)

从API Level 8(Android 2.2)开始,你可以将你的应用程序安装到外部存储上(例如,设备的SD卡)。你可以在应用程序的manifest文件中声明android:installLocat...

Android应用程序安装过程解析(源码解析)

Android应用程序安装过程解析1.程序安装的4大步骤(1) 拷贝apk文件到指定目录在Android系统中,apk安装文件是会被保存起来的,默认情况下,用户安装的apk首先会被拷贝到 /data/...

android应用程序安装目录及android开发相关

1,第3方android应用程序的安装目录默认在/data/app/下,可以看到此目录下有很多apk文件; 2,系统提供的应用程序安装在/system/app/下,同样在这里可以看到很多apk文件; ...

android应用程序安装位置android:installLocation翻译

前言: 从android API 8开始,可以将应用程序安装在外边存储空间(如设备的SD卡)。这是一个在manifest中的一个可选的属性,即android:installLocation,如果应用程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android应用程序安装后自动打开
举报原因:
原因补充:

(最多只允许输入30个字)