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



嗨,我正在寻找一种在install 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");,然后我如何在安装广播接收器中获得此数据值。

提前谢谢。

你不能。添加到安装意向中的额外数据不包括在添加程序包时系统发送的PACKAGE_ADDED意向中。

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

public static void setAlarms(Context context)

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

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

最新更新