我想制作一个应用程序,其唯一目的是切换到主屏幕(参见背景故事)。我不知道其他手机的行为,但在Honor 8上,首先点击主屏幕按钮切换到上一个主屏幕,然后重新点击主屏幕按钮切换到默认主屏幕。对不起,我不知道区分主屏幕和“家庭主屏幕”的技术术语,主屏幕与高亮度的房子。只需单击主屏幕按钮,即可访问此主屏幕。
我现在有一个可行的解决方案,但它有两个主要的美容缺陷:
由于Honor 8需要两次点击主屏幕按钮,因此它在源代码中实现了两次。由于动画,我还需要延迟:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//Came with the hellow world app and apparently cannot be removed
super.onCreate(savedInstanceState);
//First "virtual click" of home button
startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME));
//Delay to allow the animation to complete
try {
Thread.sleep(800);
} catch (InterruptedException e) {
//Not really doing anything clever
}
//Second "virtual click" of home button
startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME));
//Close the app. (I know, it's deprecated)
this.finishAffinity();
}
}
这不是一个非常优雅的解决方案。直接进入“家庭主屏幕”将更加精简,但如果有一个解决方案,很难找到答案如何进入主屏幕。
赞赏任何正确方向的推动。
背景故事:
我有Honor 8,我想配置单击智能按钮以显示主屏幕。这不是一个选项,但按钮可以启动显示主屏幕的应用程序。因为,谁想要在手机解锁时直接进入信息最多的页面,对吧?
答案 0 :(得分:0)
好的,所以我没有解决帖子中的实际两个问题,这与编程有关。但是,我已经解决了我想要做的事情(ref backstory)。
基本上我所做的就是安装tasker和tasker app factory。在任务中,我做了一个显示主屏幕的任务。此外,它还需要执行两次才能进入“家庭主屏幕”。在两者之间添加100毫秒的延迟。它看起来非常流畅。没有窗口弹出,这是一个很好的平滑过渡,从您居住的应用程序,到主屏幕,然后它滑动到“家庭主屏幕”。导出此任务并配置智能按钮以在单击智能按钮时运行此任务。