Android 如何在儿童场所应用程序中禁用home button lik?

Android 如何在儿童场所应用程序中禁用home button lik?,android,android-manifest,Android,Android Manifest,我正在尝试开发一个家长控制应用程序,所以我需要阻止home按钮,当用户单击home按钮时,他将被重定向到我的应用程序的另一个活动。 我在AndroidManifest中使用了这两行 <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.DEFAULT" /> 但是,我想重定向用户,而不让他在应用程序和启动器

我正在尝试开发一个家长控制应用程序,所以我需要阻止home按钮,当用户单击home按钮时,他将被重定向到我的应用程序的另一个活动。 我在AndroidManifest中使用了这两行

<category android:name="android.intent.category.HOME"/>    
<category android:name="android.intent.category.DEFAULT" />

但是,我想重定向用户,而不让他在应用程序和启动器之间做出选择


有人能帮我吗?

您可以使用以下服务:

try {
    Intent intent1 = new Intent(thisActivity, Reciver.class);
    PendingIntent sender = PendingIntent.getBroadcast(thisActivity, 2, intent1, 0);
    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    long l = new Date().getTime();
//You can increase/decrease time "1200" in millisecond
    am.setRepeating(AlarmManager.RTC_WAKEUP, l, 1200, sender);
} catch (Exception e) {
}
创建类
接收器

public class Reciver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //call check Running Applications method.
        MainActivity.checkRunningApplications();
    }
}
在活动中添加函数
checkRunningApplications()


你错过了基本面。试着读一下这个页面:developer.android.com/training/basics/firstapp/starting-activity.htmlI不这么认为@Der golem你不这么认为,但你的问题揭示了android编程的基础知识非常缺乏我想阻止home按钮在点击简单按钮时不启动活动,你能帮我@Der Golem吗?但这会询问如何启动另一个活动:
如何将用户重定向到另一个活动
-无论如何,要禁用home按钮,请查看以下答案:感谢你的帮助@Mohammad,但在你的解决方案中我有此错误“无法对非静态方法getSystemService(String)进行静态引用”从checkRunningApplications()方法静态活动thisActivity=null中的类型Activity;在oncreate this activity=this中;它仍然显示一个对话框,要求在启动器和我的应用程序之间进行选择,如何删除此对话框并将用户重定向到我的应用程序OK将此添加到您的代码中,请选择RunningApplications():Intent LaunchIntent=thisActivity.getPackageManager().getLaunchIntentForPackage(“您的应用程序包名”);此活动。startActivity(LaunchIntent);thisActivity.finish();用户可以将您的主屏幕设置为默认主屏幕,例如按home并选择您的应用程序作为默认主屏幕。但是,您不能强制用户接受您的主屏幕作为默认屏幕。
public static void checkRunningApplications() {
ActivityManager am1 = (ActivityManager) thisActivity.getSystemService(Activity.ACTIVITY_SERVICE);
            String packageName = am1.getRunningTasks(1).get(0).topActivity.getPackageName();

if(packageName!="Your App Package Name"){
       //open Anthor Activity
   }
else{
       //Nothing
  }
}