我找的,我希望得到他device.I用戶打開或安裝應用的解決方案必須得到該應用程序被用戶從我的廣播接收器class.I打開已經實現了我的代碼如下:如何獲取用戶當前打開的應用程序?
public class AppReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = context.getPackageManager();
while(i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Log.v(" App Name : ", c.toString());
}catch(Exception e) {
}
}
}
我也加入了這個reciever清單文件爲:
<receiver android:name="AppReciever">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.PACKAGE_ADDED"></action>
<action android:name="android.intent.action.PACKAGE_CHANGED"></action>
<action android:name="android.intent.action.PACKAGE_INSTALL"></action>
<action android:name="android.intent.action.PACKAGE_REPLACED"></action>
<action android:name="android.intent.action.PACKAGE_RESTARTED"></action>
<data android:scheme="package" />
</intent-filter>
</receiver>
從當我打開它已經存在的新的應用程序(安置)在上面的代碼AppReciver不執行在Log.v獲取應用程序名稱該設備。它只在其他應用程序運行一次的設備上工作。
請任何機構幫我從廣播接收器
我得到的應用程序名稱唯一的新package_added但我如果package_restarted/package_install/package_replaced/package_restarted –
我很抱歉,我不能讓你在問什麼讓,你能替我解釋一下你的問題嗎? 你想獲得所有安裝的應用程序嗎? –