0
我需要從安裝的特定包中獲取接收者的意向過濾器的操作名稱。我收到了android.intent.action.PACKAGE_INSTALL
的廣播意圖。從包信息確定接收器的意圖過濾器
我得到該包的uuid
。但是,我怎樣才能獲得有關該包裝的接收器的詳細信息?可能來自PackageManager
或PackageInfo
?
我需要從安裝的特定包中獲取接收者的意向過濾器的操作名稱。我收到了android.intent.action.PACKAGE_INSTALL
的廣播意圖。從包信息確定接收器的意圖過濾器
我得到該包的uuid
。但是,我怎樣才能獲得有關該包裝的接收器的詳細信息?可能來自PackageManager
或PackageInfo
?
如果你想獲得軟件包信息,安裝完成後。在接收機
<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;
}
謝謝你,你的代碼完美的作品。 – CyBer2t
我已經想出了使用意圖的數據字符串的另一種方法。 String dataString = intent.getDataString(); String [] split_str = dataString.split(「:」); String packageName = split_str [1]; – CyBer2t
是的..也有其他的方式..謝謝! – Jambaaz