編輯:關於android開發
以前在學習AlarmManager裡面會遇到PendingIntent,相信大家都知道Intent是你的意圖,比如你想啟動一個Activity,就會通過 Intent來描述啟動這個Activity的某些特點,讓系統找到這個Activity來啟動,而不是啟動別的 Activity.StartActivity(intent)就會立即啟動這個Activity.而PendingIntent呢?Penging中文意思就是:待定,將來發生或來臨。PendingIntent的就的意思就是不是像Intent那樣立即發生,而是在合適的時候才會去觸發對應的 Intent.有人說這個intent不是你的ap來觸發而是交給別的ap來觸發。你可以看以下的code來理解:
這是在PackageInstaller的代碼
java代碼:
private class ClearCacheReceiver extends BroadcastReceiver {
public static final String INTENT_CLEAR_CACHE ="com.android.packageinstaller.CLEAR_CACHE";
@Override
public void onReceive(Context context, Intent intent) {
Message msg = mHandler.obtainMessage(FREE_SPACE);
msg.arg1 = (getResultCode() ==1) ? SUCCEEDED : FAILED;
mHandler.sendMessage(msg);
}
}
java代碼:
private void checkOutOfSpace(long size) {
if(localLOGV) Log.i(TAG, "Checking for "+size+" number of bytes");
if (mClearCacheReceiver == null) {
mClearCacheReceiver = new ClearCacheReceiver();
}
registerReceiver(mClearCacheReceiver,new IntentFilter(ClearCacheReceiver.INTENT_CLEAR_CACHE));
PendingIntent pi = PendingIntent.getBroadcast(this,0, new Intent(ClearCacheReceiver.INTENT_CLEAR_CACHE), 0);
mPm.freeStorage(size, pi.getIntentSender());
}
以下是在PackageManagerService的:
java代碼:
public void freeStorageAndNotify(final long freeStorageSize, final IPackageDataObserver observer) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.CLEAR_APP_CACHE, null);
// Queue up an async operation since clearing cache may take a little while.
mHandler.post(new Runnable() {
public void run() {
mHandler.removeCallbacks(this);
int retCode = -1;
if (mInstaller != null) {
retCode = mInstaller.freeCache(freeStorageSize);
if (retCode < 0) {
Slog.w(TAG, "Couldn't clear application caches");
}
} //end if mInstaller
if (observer != null) {
try {
observer.onRemoveCompleted(null, (retCode >= 0));
} catch (RemoteException e) {
Slog.w(TAG, "RemoveException when invoking call back");
}
}
}
});
}
Android Studio下載安裝使用教程,androidstudio最近Google的在Google I/O大會上推出了一款新的開發工具android studio。
Intent(一.顯示使用intent),顯示使用intent 大家都知道如果手機只有一個活動的應用,那這個應用也太簡單了吧。如同網頁一下,是有多
Android中GridView通過自定義適配器(未優化)實現圖文視圖排列,androidgridviewAndroid中GridView組件用來以網格方式排列視圖,與矩
自定義控件之 圓形 / 圓角 ImageView,圓角imageview一、問題在哪裡? 問題來源於app開發中一個很常見的場景——用戶頭像要展示