如何在安装数据意图中传递数据并将其安装到广播接收器

时间:2014-11-07 07:02:40

标签: android android-intent

您好我正在寻找一种方法来发送安装意图中的任何数据&在安装/替换广播接收器中获取此数据。

我正在执行下面的安装意图

Intent promptInstall = new Intent(Intent.ACTION_VIEW).setDataAndType(
                    Uri.parse("file:///" + Environment.getExternalStorageDirectory() + "/test.apk"), "application/vnd.android.package-archive");
promptInstall.putExtra("data", "value");
startActivity(promptInstall);

在安装广播接收器中。

public class NewPackageReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("DEBUG"," test for application install/uninstall");
    }

}

问题

我在安装意图中发送了promptInstall.putExtra("data", "value");然后如何在安装广播接收器中获取此数据值。

提前致谢。

2 个答案:

答案 0 :(得分:1)

你不能。在添加软件包时,系统发送的PACKAGE_ADDED Intent中不包含您添加到安装Intent的额外数据。

答案 1 :(得分:0)

我所做的就是在public中创建一个BroadcastReceiver方法,例如:

public static void setAlarms(Context context)

然后我直接在actvitiy中调用了该方法,并在onReceive中调用它:

@Override
public void onReceive(Context context, Intent intent) {
    setAlarms(context);
}