簡體   English   中英

在android中處理最近的應用程序點擊和主頁按下

[英]Handle Recent apps click and home press in android

我正在為孩子們制作一個應用程序,一旦你進入應用程序,如果沒有我在菜單中要求的密碼就無法退出。 現在我想如果在應用程序內我按下應用程序中的主頁按鈕,它應該保持相同的活動。 我搜索了很多,但到處都是解決方案在清單中添加過濾器,但這些對我來說效果不佳。 我希望在應用程序退出時從啟動器中刪除我的活動,並再次詢問是否啟動應用程序。

對於同一個應用程序,如果我按下最近的應用程序按鈕並且其中一個被孩子點擊,該應用程序也應該處於相同的活動中,或者是否有任何方法可以阻止最近的應用程序按鈕。

我試過這個

<activity
    android:label="@string/app_name"
    android:launchMode="singleInstance"
    android:name=".MyActivity"
    android:screenOrientation="landscape"
    android:excludeFromRecents="true"
    android:taskAffinity=""
    android:stateNotNeeded="true" >
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.HOME" />
         <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

我正在為孩子們制作一個應用程序,一旦你進入應用程序就無法在沒有密碼的情況下退出我在菜單中詢問的密碼。

幸運的是,出於明顯的安全原因,這是不可能的。

現在我想如果在應用程序內部我按下應用程序中的主頁按鈕,它應該保持相同的活動,我搜索了很多但是到處都是解決方案在清單中添加過濾器,但這些過濾器對我來說效果不佳。

“不適合我”是對您症狀的完全無用的解釋。 您的 SDK 中有一個 Home 示例應用程序,用於演示如何設置主屏幕。

對於同一個應用程序,如果我按下最近的應用程序按鈕並且其中一個被孩子點擊,該應用程序也應該處於相同的活動中,或者是否有任何方法可以阻止最近的應用程序按鈕。

這兩者都不可能。

如果您想制作單一用途的 Android 設備,則需要在固件級別進行。

您可以將您的應用程序變成啟動器。 我的啟動器通常看起來像:

<activity android:name=".MyLauncher">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

當用戶選擇您的啟動器作為默認啟動器時,當您在應用程序中時,home 鍵基本上不會執行任何操作。

自 API 14 以來,這就像魅力一樣; 在模擬器 4.4v、5.0v、7.0v、8.0v、9.0v 上測試; 這是解決問題的人的鏈接: https : //stackoverflow.com/a/55129289/9497126

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM