我正在制作一个依赖于使用 BroadCastReceiver 的类的应用程序,以便我可以在安装和卸载应用程序时捕获。意图被很好地接收,并且 onReceive 中的代码按应有的方式执行。然而,我遇到的问题是当我尝试实例化一个新的 PackageManger 时收到一条错误消息。错误是:“无法实例化类型 PackageManager”。我几乎尝试了所有变体,但我就是无法让它发挥作用。
我的代码:
package com.my.package;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.util.Log;
public class PackageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Uri datauri = intent.getData();
String uri = datauri.toString();
PackageManager pm = new PackageManager();
//pm.getApplicationInfo(uri); //broken
test(datauri); //works fine
}//end method
public void test(Uri uri){
Log.d("test", "data: "+uri);
}//end method
}// end class