0

インストールされた特定のパッケージから、レシーバーに対するインテントフィルターのアクション名を取得する必要があります。のブロードキャストインテントを受信して​​いandroid.intent.action.PACKAGE_INSTALLます。

私はuuidそのパッケージのを取得しています。しかし、どうすればそのパッケージに配線された受信機の詳細を取得できますか?おそらくPackageManagerまたはからPackageInfo

4

1 に答える 1

2

パッケージ情報を取得したい場合は、apk をインストールした後。次に、これを使用できます-

  <receiver android:name="PackageChangeReceiver">
     <intent-filter>
  <action android:name="android.intent.action.PACKAGE_ADDED"/>
  <data android:scheme="package"/>
     </intent-filter>
   </receiver>

今あなたの受信機で -

 @Override
 public void onReceive(Context ctx, Intent intent) {
   Log.d(TAG, "The Package Name is " + getPackageName(intent);
 }

 String getPackageName(Intent intent) {
    Uri uri = intent.getData();
    String pkg = uri != null ? uri.getSchemeSpecificPart() : null;
    return pkg;
}
于 2013-01-22T10:58:45.803 に答える