2013-07-07 62 views
3

我試圖使用意圖過濾ACTION_PACKAGE_FIRST_LAUNCH使應用程序做一些任務時,它首先推出的,但它不是由廣播接收器捕獲 我的清單如何使用ACTION_PACKAGE_FIRST_LAUNCH意圖過濾器來啓動應用程序?

<receiver android:name=".reminder.ReminderActionReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" /> 
      <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 

這是我的廣播接收器實現

this.context = context; 
    String mAction = intent.getAction(); 
    Log.i("r", mAction); 
    if (mAction == Intent.ACTION_PACKAGE_DATA_CLEARED) { 

    } else if (mAction == Intent.ACTION_PACKAGE_FIRST_LAUNCH) { 


    } 

如何在應用第一次啓動時啓動它?

回答

3

對不起,除了boot_completed以外的意圖只發送到播放存儲。但是做它你需要的東西相對簡單。而是使用SharedPreferences,像例如:

public static final String KEY_PREFS_FIRST_LAUNCH = "first_launch"; 
// ... 
SharedPreferences prefs = SharedPreferences.getDefaultSharedPreferences(this); 
if(prefs.getBoolean(KEY_PREFS_FIRST_LAUNCH, true)) 
{ 
    //first launch 
    prefs.edit().putBoolean(KEY_PREFS_FIRST_LAUNCH,false).commit(); 
} 
+0

謝謝你的幫助 – user2557632

+0

如果我們不能使用它,該文件列出了它什麼? – wangqi060934

+1

該文件只是列出意圖,不僅僅是我們可以註冊接收的意圖,它應該真的使它更清楚,雖然 –

相關問題