我目前有两个版本的应用程序,一个付费版本和一个免费版本。
但是我要在安装捐赠包时删除捐赠偏好。
有什么想法吗?

此代码是检查安装的捐赠应用程序

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;
        }
    });

最佳答案

将其放在您的首选项活动的onCreate中:

Preference mPref = getPreferenceScreen().findPreference("goto_pro");
getPreferenceScreen().removePreference(mPref);

关于android - 安装捐赠应用程序时如何删除首选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21860961/

10-09 09:21