小编Gub*_*bel的帖子

来自BroadcastReceiver的startActivity()

我正在尝试使用onPause()方法中实现的以下BroadcastReceiver自动启动我的nightclock应用程序进行充电:

BroadcastReceiver test = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        unregisterReceiver(this);
        Intent i = new Intent(context, NightClock.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);   
    }           
};
registerReceiver(test, new IntentFilter(Intent.ACTION_POWER_CONNECTED));
Run Code Online (Sandbox Code Playgroud)

插入USB电缆时会触发onReceive()方法,但活动无法启动.但是日志显示了这个:

I/ActivityManager(   79): Starting activity: Intent { flg=0x10000000 cmp=com.meins.nightclock/.NightClock }
Run Code Online (Sandbox Code Playgroud)

日志说活动开始的任何想法,但没有任何反应?

android broadcastreceiver android-activity

38
推荐指数
2
解决办法
7万
查看次数

SYSTEM_UI_FLAG_LOW_PROFILE无法在HTC One M8上运行

我收到了一些使用HTC One M8手机的用户的报告,导航按钮始终可见,即使它们应该处于低调模式.

我构建了以下示例应用程序,它的运行方式与您在模拟器和Nexus 4上的预期相同.

public class MainActivity extends Activity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.visible:
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
                break;
            case R.id.lowProfile:
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
                break;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

在HTC One M8上,SYSTEM_UI_FLAG_LOW_PROFILE标志始终被忽略,但隐藏状态栏例如(with SYSTEM_UI_FLAG_FULLSCREEN)有效.

我已经尝试调用setSystemUiVisibility()装饰视图如图所示和按钮没有成功.

该模型是否存在任何已知问题或变通方法?

更新:示例应用程序已在Android 5.0.1上进行了测试.我不知道它是否适用于以前的版本.

android

10
推荐指数
1
解决办法
309
查看次数

BackupAgent:"无法恢复包..."

我按照数据备份中的描述实现了BackupAgent ,注册了一个API密钥并在我的Manifest中声明了BackupAgent.我认为备份部分工作得很好; 当我adb shell bmgr run在命令行中运行时,LogCat中会出现以下输出:

01-11 22:23:09.002: DEBUG/PerformBackupThread(97): starting agent for backup of BackupRequest{app=ApplicationInfo{4547c5b8 com.meins.nightclock} full=false}
01-11 22:23:09.002: DEBUG/BackupManagerService(97): awaiting agent for ApplicationInfo{4547c5b8 com.meins.nightclock}
01-11 22:23:09.013: DEBUG/BackupManagerService(97): agentConnected pkg=com.meins.nightclock agent=android.os.BinderProxy@4536a7f8
01-11 22:23:09.032: DEBUG/BackupHelperDispatcher(9122): handling existing helper 'alarms' android.app.backup.FileBackupHelper@44e197b0
01-11 22:23:09.032: DEBUG/BackupHelperDispatcher(9122): handling existing helper 'prefs' android.app.backup.SharedPreferencesBackupHelper@44e19478
01-11 22:23:09.032: VERBOSE/LocalTransport(97): performBackup() pkg=com.meins.nightclock
01-11 22:23:09.032: VERBOSE/LocalTransport(97): Got change set key=alarms:alarms size=16 key64=YWxhcm1zOmFsYXJtcw==
01-11 22:23:09.042: VERBOSE/LocalTransport(97):   data size 16
01-11 22:23:09.062: VERBOSE/LocalTransport(97): Got change set key=prefs:com.meins.nightclock_preferences size=265 key64=cHJlZnM6Y29tLm1laW5zLm5pZ2h0Y2xvY2tfcHJlZmVyZW5jZXM= …
Run Code Online (Sandbox Code Playgroud)

android android-backup-service

7
推荐指数
1
解决办法
3418
查看次数

如何切换状态栏?

我正在寻找一种方法来显示和隐藏状态栏onClickListener,但只显示它有效.

WindowManager.LayoutParams lp = getWindow().getAttributes();
if (isStatusbarVisible)
    lp.flags = LayoutParams.FLAG_FULLSCREEN;
else
    lp.flags = LayoutParams.FLAG_FORCE_NOT_FULLSCREEN;
getWindow().setAttributes(lp);
isStatusbarVisible = !isStatusbarVisible;
Run Code Online (Sandbox Code Playgroud)

隐藏状态栏FLAG_FULLSCREEN似乎只有在调用之前设置了标志时才有效setContentView().

还有另一种隐藏状态栏的方法吗?

android statusbar

2
推荐指数
1
解决办法
2671
查看次数