2014-02-18 33 views
1

我目前有两个版本的我的应用程序,付费和免费的。 但是我想在安装捐赠包时删除捐赠偏好。 对此有何想法?如何删除安装捐赠应用程序时的偏好

此代码检查已安装捐应用

public boolean isDonate() { 
    try 
    { 
     PackageInfo info = context.getPackageManager().getPackageInfo("com.example.test.donate", 
       PackageManager.GET_META_DATA); 
     Log.d(TAG, "Pro app is installed: " + info.applicationInfo.name); 
     return context.getPackageManager().checkSignatures("com.example.test", 
       "com.example.test.donate") == PackageManager.SIGNATURE_MATCH; 
    } 
    catch (NameNotFoundException e) 
    { 
     return false; 
    } 
} 

要删除此偏好

XML代码:

<com.example.test.IconPreferenceScreen 
    android:key="goto_pro" 
    android:title="@string/go_to_pro" 
    android:summary="@string/go_to_pro_summary" /> 

java代码:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.preferences); 

    IconPreferenceScreen pro = (IconPreferenceScreen) findPreference("goto_pro"); 
    Resources res = getResources(); 
    Drawable icon = res.getDrawable(R.drawable.playstore); 
    pro.setIcon(icon); 

    getPreferenceManager() 
     .findPreference("goto_pro") 
     .setOnPreferenceClickListener(
      new OnPreferenceClickListener() { 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setData(Uri.parse("market://details?id=com.example.test")); 
      startActivity(intent); 
      return true; 
     } 
    }); 

回答

1

在将这个您的首选项erence Activity's onCreate:

Preference mPref = getPreferenceScreen().findPreference("goto_pro"); 
getPreferenceScreen().removePreference(mPref); 
相关问题