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