@@ -494,6 +494,31 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
}
+ //add steven zhang by 20160701
+ private BroadcastReceiver mStatusShowHide = new BroadcastReceiver() {
+
+ @Override
+ public void onReceive(final Context context, Intent intent) {
+ // TODO Auto-generated method stub
+ String action = intent.getAction();
+
+ if ("com.aura.statusbar.SHOW_OR_HIDE".equals(action)) {
+ // StatusBarManager.DISABLE_NONE
+ // StatusBarManager.DISABLE_EXPAND
+ final int mode = intent.getIntExtra("mode", StatusBarManager.DISABLE_NONE);
+ if (mNavigationBarView != null) {
+ mHandler.post(new Runnable() {
+
+ @Override
+ public void run() {
+
+ disable(mode);
+ }
+ });
+ }
+ }
+ }
+ };
//micheal add the Broadcast interface for Control the wifi sleep mode change begin 20150514
private BroadcastReceiver wifiSleepModeChangeReceiver = new BroadcastReceiver(){
@Override
@@ -519,6 +544,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
// ================================================================================
protected PhoneStatusBarView makeStatusBarView() {
final Context context = mContext;
+ // add steven zhang by 20160701
+ IntentFilter statusFilter = new IntentFilter();
+ statusFilter.addAction("com.aura.statusbar.SHOW_OR_HIDE");
+ context.registerReceiver(mStatusShowHide, statusFilter);
@Override
protected void onResume() {
super.onResume();
Intent i = new Intent("com.aura.statusbar.SHOW_OR_HIDE");
i.putExtra("mode", StatusBarManager.DISABLE_EXPAND);
sendBroadcast(i);
}
@Override
protected void onPause() {
super.onPause();
Intent i = new Intent("com.aura.statusbar.SHOW_OR_HIDE");
i.putExtra("mode", StatusBarManager.DISABLE_NONE);
sendBroadcast(i);
}
public static final int DISABLE_EXPAND = 0x00010000;
public static final int DISABLE_NOTIFICATION_ICONS = 0x00020000;
public static final int DISABLE_NOTIFICATION_ALERTS = 0x00040000;
public static final int DISABLE_NOTIFICATION_TICKER = 0x00080000;
public static final int DISABLE_SYSTEM_INFO = 0x00100000;
public static final int DISABLE_HOME = 0x00200000;
public static final int DISABLE_RECENT = 0x01000000;
public static final int DISABLE_BACK = 0x00400000;
public static final int DISABLE_CLOCK = 0x00800000;
public static final int DISABLE_SEARCH = 0x02000000;
public static final int DISABLE_NONE = 0x00000000;
public static final int DISABLE_NAVIGATION =
View.STATUS_BAR_DISABLE_HOME | View.STATUS_BAR_DISABLE_RECENT;
public static final int DISABLE_MASK = DISABLE_EXPAND | DISABLE_NOTIFICATION_ICONS
| DISABLE_NOTIFICATION_ALERTS | DISABLE_NOTIFICATION_TICKER
| DISABLE_SYSTEM_INFO | DISABLE_RECENT | DISABLE_HOME | DISABLE_BACK | DISABLE_CLOCK
| DISABLE_SEARCH;
// monitor for system gestures
mSystemGestures = new SystemGesturesPointerEventListener(context,
new SystemGesturesPointerEventListener.Callbacks() {
@Override
public void onSwipeFromTop() {
if (isGestureIsolated())
return;
if (mStatusBar != null) {
requestTransientBars(mStatusBar);
}
}
@Override
public void onSwipeFromBottom() {
if (isGestureIsolated())
return;
if (mNavigationBar != null && mNavigationBarOnBottom) {
requestTransientBars(mNavigationBar);
}
}
@Override
public void onSwipeFromRight() {
if (isGestureIsolated())
return;
if (mNavigationBar != null && !mNavigationBarOnBottom) {
requestTransientBars(mNavigationBar);
}
}
@Override
public void onDebug() {
// no-op
}
private boolean isGestureIsolated() {
boolean ret = false;
ret = Settings.System.getInt(mContext.getContentResolver(),"status_bar_disabled", 0) == 1;
return ret;
}
});
private boolean isGestureIsolated() {
boolean ret = false;
WindowState win = mFocusedWindow != null ? mFocusedWindow:mTopFullscreenOpaqueWindowState;
if (win != null && (win.getSystemUiVisibility() & View.SYSTEM_UI_FLAG_IMMERSIVE_GESTURE_ISOLATED) != 0)
ret = true;
else
ret = false;
return ret;
}
Settings.System.getInt(mContext.getContentResolver(),"status_bar_disabled", 0) == 1;
Settings.System.putInt(getContentResolver(), "status_bar_disabled", 1);
Settings.System.putInt(getContentResolver(), "status_bar_disabled", 0);
@Override
protected void onResume() {
super.onResume();
//禁止下拉
Settings.System.putInt(getContentResolver(), "status_bar_disabled", 1);
}
@Override
protected void onPause() {
super.onPause();
//解除禁止
Settings.System.putInt(getContentResolver(), "status_bar_disabled", 0);
}
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
@Override
public int adjustSystemUiVisibilityLw(int visibility){
if (Settings.System.getInt(mContext.getContentResolver(),"status_bar_disabled", 0) == 0) {
mStatusBarController.adjustSystemUiVisibilityLw(mLastSystemUiFlags, visibility);
}
mNavigationBarController.adjustSystemUiVisibilityLw(mLastSystemUiFlags, visibility);
// Reset any bits in mForceClearingStatusBarVisibility that
// are now clear.
mResettingSystemUiFlags &= visibility;
// Clear any bits in the new visibility that are currently being
// force cleared, before reporting it.
return visibility & ~mResettingSystemUiFlags
& ~mForceClearedSystemUiFlags;
}
<uses-permission android:name="android.permission.STATUS_BAR"/> <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
android : sharedUserId="android.uid.system"
@Override
protected void onResume() {
super.onResume();
StatusBarManager statusBarManager = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);
statusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
}
@Override
protected void onPause() {
super.onPause();
StatusBarManager statusBarManager = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);
statusBarManager.disable(StatusBarManager.DISABLE_NONE);
}
java -jar signapk.jar platform.x509.pem platform.pk8 TestDemo.apk TestDemoNew.apk
/**
* Updates the status bar to reflect the current desired state.
*/
private void updateStatusBar() {
int state = StatusBarManager.DISABLE_NONE;
if (!mIsExpandedViewEnabled) {
state |= StatusBarManager.DISABLE_EXPAND;
}
if (!mIsNotificationEnabled) {
state |= StatusBarManager.DISABLE_NOTIFICATION_ALERTS;
}
if (!mIsSystemBarNavigationEnabled) {
// Disable *all* possible navigation via the system bar.
state |= StatusBarManager.DISABLE_HOME;
state |= StatusBarManager.DISABLE_RECENT;
state |= StatusBarManager.DISABLE_BACK;
}
if (DBG) log("updateStatusBar: state = 0x" + Integer.toHexString(state));
mStatusBarManager.disable(state);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有