中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android 監(jiān)聽(tīng)?wèi)?yīng)用的安裝與卸載的 廣播

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
    import android.content.BroadcastReceiver;  
    import android.content.Context;  
    import android.content.Intent;  
    import android.content.pm.PackageManager;  
    import android.text.TextUtils;  
    import android.widget.Toast;  
      
    import com.stone.mobilesafe.util.LogUtils;  
      
    public class AppReceiver extends BroadcastReceiver {  
        private final String TAG = this.getClass().getSimpleName();  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            PackageManager pm = context.getPackageManager();  
              
            if (TextUtils.equals(intent.getAction(), Intent.ACTION_PACKAGE_ADDED)) {  
                String packageName = intent.getData().getSchemeSpecificPart();  
                LogUtils.printInfo(TAG, "--------安裝成功" + packageName);  
                Toast.makeText(context, "安裝成功" + packageName, Toast.LENGTH_LONG).show();  
                  
            } else if (TextUtils.equals(intent.getAction(), Intent.ACTION_PACKAGE_REPLACED)) {  
                String packageName = intent.getData().getSchemeSpecificPart();  
                LogUtils.printInfo(TAG, "--------替換成功" + packageName);  
                Toast.makeText(context, "替換成功" + packageName, Toast.LENGTH_LONG).show();  
                  
            } else if (TextUtils.equals(intent.getAction(), Intent.ACTION_PACKAGE_REMOVED)) {  
                String packageName = intent.getData().getSchemeSpecificPart();  
                LogUtils.printInfo(TAG, "--------卸載成功" + packageName);  
                Toast.makeText(context, "卸載成功" + packageName, Toast.LENGTH_LONG).show();  
            }  
        }  
      
    }  

manifest.xml中的配置

    <receiver android:name=".receiver.AppReceiver" >  
                <intent-filter>  
                    <!-- 一個(gè)新應(yīng)用包已經(jīng)安裝在設(shè)備上,數(shù)據(jù)包括包名(監(jiān)聽(tīng)所在的app,新安裝時(shí),不能接收到這個(gè)廣播) -->  
                    <action android:name="android.intent.action.PACKAGE_ADDED" />  
                    <!-- 一個(gè)新版本的應(yīng)用安裝到設(shè)備,替換之前已經(jīng)存在的版本  替換時(shí)會(huì)先收到卸載的再收到替換的, 替換自身也能收到-->  
                    <action android:name="android.intent.action.PACKAGE_REPLACED" />  
                    <!-- 一個(gè)已存在的應(yīng)用程序包已經(jīng)從設(shè)備上移除,包括包名(卸載監(jiān)聽(tīng)所在的app,則無(wú)法接收到) -->  
                    <action android:name="android.intent.action.PACKAGE_REMOVED" />  
                    <data android:scheme="package" />  
                </intent-filter>  
            </receiver>  

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:PHP刪除指定目錄中的所有目錄及文件(或者指定文件)

下一篇:C#代碼發(fā)送簡(jiǎn)單的HTTP請(qǐng)求