2015-07-21 61 views
3

我正在嘗試開發android應用程序,以防止用戶僅使用退出按鈕退出應用程序。在不到3秒內重定向到應用程序

我使用Broad Cast接收器,在onReceive檢查當前正在運行的應用程序是否是我的應用程序;如果是 - >繼續,否則 - >重定向到我的應用程序。

我現在的問題是:接收器的間隔時間(3秒),但應用程序需要5-6秒才能重新打開應用程序,我如何在不到3秒內重定向到應用程序?

代碼:

艙單申報:

<receiver android:name=".AlarmReciever" /> 

接收機的執行情況:

public class AlarmReciever extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) {  
     ActivityManager am1 = (ActivityManager)context.getSystemService(Activity.ACTIVITY_SERVICE); 
     String packageName = am1.getRunningTasks(1).get(0).topActivity.getPackageName(); 

     if (packageName.equals("com.XXXX.YYYYY")) { 
      //continue; 
     }else{ 
      final Intent intent = new Intent(); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      intent.setClassName("com.XXXX.YYYYY", "com.XXXX.YYYYY.Launch"); 
      thisActivity.startActivity(intent); 
      thisActivity.finish(); 
     } 
    } 
} 

回答

2

你想給準備從自己的應用程序退出?如果是這種情況,爲什麼你必須使用廣播接收機?爲什麼不試試

android.os.Process.killProcess(android.os.Process.myPid());

onBackPressed()方法?

+0

沒有,我正在試圖防止從應用程序退出的用戶使用Home鍵 –

+0

然後禁用Home鍵或過度騎它 –

+0

我的設備是三星S3; Android 4.4.4這意味着不能禁用主鍵 –

相關問題