2012-03-12 42 views

回答

5

檢查這: OtaStartupReceiver

這個類是在android源碼電話APK源代碼,請檢查方法private boolean shouldPostpone(Context context)

在提供手機初始化嚮導(如谷歌 安裝嚮導)設備,我們允許延緩CDMA OTA設置,所以它可以完成我n一個 單個嚮導。嚮導是負責

(1)禁止本身一旦它已被運行及/或

(2)設置「device_provisioned」標誌的東西非零和

(3)調用OTA設置與下面的操作。注意:典型的手機 初始化嚮導將自己安裝爲主屏幕 (類別爲「android.intent.category.HOME」),默認優先級高於 。嚮導應該在 完成時設置'device_provisioned',並使用 PackageManager.setComponentEnabledSetting()將其自身關閉,然後開始主頁 屏幕。

如上圖所示:

你可以在AndroidManifest.xml

<activity 
     android:name=".Demo" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" > 
     <!--android:priority added--> 
     <!--category.HOME and DEVICE_INITIALIZATION_WIZARD must have--> 
     <intent-filter android:priority="1000"> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.HOME"/> 
      <action android:name="android.intent.action.DEVICE_INITIALIZATION_WIZARD"/> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

systemProperities沒有解決,這裏提到的otautils是什麼東西,它也沒有解決。所以你可以給一些解釋和發佈工作副本... – raj 2012-03-12 10:02:21

+0

你不要複製'OtaStartupReceiver'代碼,你只需使用上面的XML配置定義一個活動。 ps:我給'OtaStartupReceiver'這個類,想讓你明白系統選擇它。 – idiottiger 2012-03-12 10:05:35

+0

感謝您的回覆,但這不起作用。我已經在清單中包含了同樣的東西。我會給你清楚的解釋,我在我的應用程序中做了什麼,我已經宣佈一個廣播Receiver作爲Boot_completed.from Receiver,我開始從那裏開始一項服務,iam在這個過程中調用我的活動,這需要時間。你可以幫助我.. – raj 2012-03-12 12:46:12

1

創建活動做這個的時候,我建議謹慎!

開始之前我認爲這是一個好主意,請啓用USB調試,如果發生任何事情,您可以使用ADB修復它。

我在一個項目中工作,客戶希望應用程序出現時不顯示android默認主頁。

對於這一點,我勸你謹慎做到這一點。 系統我用:紮根的Android 4.0.3

在清單中添加這個您的活動中:

<activity android:name=".MainActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     <category android:name="android.intent.category.HOME"/> <!-- this will make your app work like a launcher --> 
     <category android:name="android.intent.category.DEFAULT" />     
    </intent-filter> 
</activity> 

對於這個工作,你可能要採取的Settings/Applications/All 查找「啓動」一看,點擊它,然後點擊按鈕Clear Defaults

之後,點擊「HOME」按鈕,Android會詢問你要啓動哪個應用程序,如果你選擇了你的應用程序,並選中「默認設置」框,它將始終作爲你的主屏幕工作,因此,讓你的應用成爲啓動器。所以當你重新啓動你的設備時,它會一直顯示你的應用程序。

當心!如果您這樣做,您可能無法訪問主屏幕,並且不會再提供重新訪問設置的選項。所以你需要通過亞行來訪問它,或者像我一樣創建和「轉義」。

裏面我的應用程序,在管理方面我添加一個按鈕,叫下面:

public void custom_launcher(View v){ 
    startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER)); 
} 

這將調用在Android的菜單,在這裏你可以再次進入設置菜單。在設置菜單中,如果您想再次使用Android默認啓動器,則可以執行與啓動器相同的操作。

爲此,請轉至Settings/Applications/<app-name>,然後單擊「清除默認值」。當你再次按回家時,Android會詢問你想使用哪個啓動器,Android啓動器或你的應用程序。

相關問題