我已经编写了一个自定义启动器,它工作得非常好。启动器有一些页面填充了应用程序。我想实现,如果按下homebutton,表示页码的变量设置为0。因此,如果您在启动器的不同页面上并按下主页按钮,则进入起始页面。 我搜索了很多,但无法找到适合我的答案。 我已将应用程序设置为清单中的启动器。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
有可能实现这一目标吗?如果按下主页按钮,只需更改一个变量的值,并按原样保留主页按钮的其余部分。
答案 0 :(得分:1)
对于想要做同样事情的每个人。这就是我解决它的方式: 我在清单中添加了以下内容:
<activity
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true">
并将其写入java活动:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (Intent.ACTION_MAIN.equals(intent.getAction())) {
final boolean alreadyOnHome =
((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)
!= Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
if (alreadyOnHome) {
Log.d("whatever", "Home pressed");
}
}
}
我是从这里得到的:CyanogenMod trebuchet