Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android監聽程序的安裝和卸載

Android監聽程序的安裝和卸載

編輯:中級開發

在android系統中,安裝和卸載都會發送廣播,當應用安裝完成後系統會發android.intent.action.PACKAGE_ADDED廣播。可以通過intent.getDataString()獲得所安裝的包名。當卸載程序時系統發android.intent.action.PACKAGE_REMOVED廣播。同樣intent.getDataString()獲得所卸載的包名。

應用程序無法監聽自己的安裝與卸載,但覆蓋安裝可以監聽到自己的android.intent.action.PACKAGE_REMOVED廣播。

  1. public class PackageReceiver extends BroadcastReceiver{
     
  2. @Override
     
  3.     public void onReceive(Context context, Intent intent) {        
     
  4.         if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
     
  5.             String packageName = intent.getDataString();
     
  6.             Log.i("Test","---------------" + packageName);
     
  7.         }
     
  8.         
     
  9.         if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
     
  10.          String packageName = intent.getDataString();
     
  11.           Log.i("Test","---------------" + "PACKAGE_REMOVED" + packageName);
     
  12.         }
     
  13. }
     
  14. }
  1. <?XML version="1.0" encoding="utf-8"?>
     
  2. <manifest
     
  3.    XMLns:android="http://schemas.android.com/apk/res/android"
     
  4.     package="com.test"
     
  5.     android:versionCode="1"
     
  6.     android:versionName="1.0">
     
  7.     <application
     
  8.      android:icon="@drawable/icon"
     
  9.      android:label="測試">
     
  10.         <receiver android:name=".PackageReceiver"
     
  11.                   android:label="@string/app_name">
     
  12.             <intent-filter>
     
  13.               <action android:name="android.intent.action.PACKAGE_ADDED" />
     
  14.               <action android:name="android.intent.action.PACKAGE_REMOVED" />
     
  15.                <data android:scheme="package" />
     
  16.             </intent-filter>
     
  17.         </receiver>
     
  18.     </application>
     
  19.     <uses-sdk android:minSdkVersion="7" />
     
  20.    <uses-permission android:name="android.permission.INTERNET" />
     
  21.     <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
     
  22.     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
     
  23. </manifest>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved