Android UserManager.isUserAGoat() の適切な使用例は何ですか? 質問する

Android UserManager.isUserAGoat() の適切な使用例は何ですか? 質問する

私は導入された新しいAPIを見ていましたアンドロイド4.2を見ながらUserManagerクラスで次のメソッドを見つけました:

public boolean isUserAGoat()

この呼び出しを行うユーザーがテレポートの対象となるかどうかを判断するために使用されます。

この呼び出しを行っているユーザーがヤギであるかどうかを返します。

これはいつ、どのように使用すればよいのでしょうか?

ベストアンサー1

Android R アップデート:

Android R では、このメソッドは常に false を返します。Google によると、これは「ヤギのプライバシーを保護するため」に行われるとのことです。

/**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can
 * now automatically identify goats using advanced goat recognition technology.</p>
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#R}, this method always returns
 * {@code false} in order to protect goat privacy.</p>
 *
 * @return Returns whether the user making this call is a goat.
 */
public boolean isUserAGoat() {
    if (mContext.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.R) {
        return false;
    }
    return mContext.getPackageManager()
            .isPackageAvailable("com.coffeestainstudios.goatsimulator");
}

前回の回答:

彼らからソースfalseAPI 21 で変更されるまで、このメソッドは返されていました。

/**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 * @return whether the user making this call is a goat 
 */
public boolean isUserAGoat() {
    return false;
}

この方法は開発者にとってはあまり役に立たないようです。以前誰かが、これはイースターエッグ

API 21では、パッケージにインストールされたアプリがあるかどうかを確認するように実装が変更されました。com.coffeestainstudios.goatsimulator

/**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can
 * now automatically identify goats using advanced goat recognition technology.</p>
 *
 * @return Returns true if the user making this call is a goat.
 */
public boolean isUserAGoat() {
    return mContext.getPackageManager()
            .isPackageAvailable("com.coffeestainstudios.goatsimulator");
}

こちらはソースそしてその変化

おすすめ記事