Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android技術點筆記--(安裝應用和卸載應用廣播)

Android技術點筆記--(安裝應用和卸載應用廣播)

編輯:關於android開發

Android技術點筆記--(安裝應用和卸載應用廣播)


Android技術點筆記--(安裝應用和卸載應用廣播)

 

前言:總結Android中安裝應用和卸載應用的廣播使用。
 

android系統中,安裝和卸載都會發送出相應的廣播,當應用安裝完成後系統會發android.intent.action.PACKAGE_ADDED廣播。

可以通過intent.getDataString()獲得所安裝的包名。卸載程序時系統發android.intent.action.PACKAGE_REMOVED廣播。同樣intent.getDataString()獲得所卸載的包名。可以根據實際需求做相應的操作。

 

示例:

新建BroadcastReceiver類,接受相應的廣播並按需求進行處理。

 

public class MyReceiver extends BroadcastReceiver {        
       
    @Override       
    public void onReceive(Context context, Intent intent) {
   
        //接收廣播:系統啟動完成後運行程序
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {        
             Intent newIntent = new Intent(context, xxxActivity.class);        
             newIntent.setAction("android.intent.action.MAIN");           
             newIntent.addCategory("android.intent.category.LAUNCHER");         
             newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);           
             context.startActivity(newIntent);        
        }

        //接收廣播:設備上新安裝了一個應用程序包後自動啟動新安裝應用程序
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {        
            String packageName = intent.getDataString().substring(8);        
            System.out.println("---------------" + packageName);

            Intent newIntent = new Intent();        
            newIntent.setClassName(packageName,packageName+ .MainActivity");        
            newIntent.setAction("android.intent.action.MAIN");                 
            newIntent.addCategory("android.intent.category.LAUNCHER");                 
            newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        
            context.startActivity(newIntent);        
        }        
        //接收廣播:設備上刪除了一個應用程序包。        
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {        
            System.out.println("********************************");        
            DatabaseHelper dbhelper = new DatabaseHelper();        
            dbhelper.executeSql("delete from xxx");        
        }

    }

注:修改AndroidManifest.xml配置文件

 

 

       


           
               
                   
                       
                       
            

                   
                    
                    
                    
     
                   
        

               
                   
                       
                       
                   
        

    

           
           
           


 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved