如何实现两个app获取的android id不一样

1. 流程表格

步骤 描述
步骤一 在第一个app中生成一个随机的id
步骤二 将生成的id存储到SharedPreferences中
步骤三 在第二个app中读取SharedPreferences中存储的id
步骤四 如果SharedPreferences中没有存储的id,则生成一个新的id
步骤五 在第二个app中使用生成的id进行操作

2. 代码实现

步骤一:在第一个app中生成一个随机的id

import java.util.UUID;

public class MainActivity extends AppCompatActivity {
    
    private String androidId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 生成一个随机的id
        androidId = UUID.randomUUID().toString();
    }
}

步骤二:将生成的id存储到SharedPreferences中

import android.content.SharedPreferences;

public class MainActivity extends AppCompatActivity {
    
    private String androidId;
    private SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        
        // 将生成的id存储到SharedPreferences中
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString("androidId", androidId);
        editor.apply();
    }
}

步骤三:在第二个app中读取SharedPreferences中存储的id

import android.content.SharedPreferences;

public class MainActivity extends AppCompatActivity {
    
    private String androidId;
    private SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        
        // 读取SharedPreferences中存储的id
        androidId = sharedPreferences.getString("androidId", null);
        
        // 如果SharedPreferences中没有存储的id,则生成一个新的id
        if (androidId == null) {
            androidId = UUID.randomUUID().toString();
            
            // 将新生成的id存储到SharedPreferences中
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString("androidId", androidId);
            editor.apply();
        }
    }
}

步骤四:在第二个app中使用生成的id进行操作

import android.content.SharedPreferences;

public class MainActivity extends AppCompatActivity {
    
    private String androidId;
    private SharedPreferences sharedPreferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        
        // 读取SharedPreferences中存储的id
        androidId = sharedPreferences.getString("androidId", null);
        
        // 如果SharedPreferences中没有存储的id,则生成一个新的id
        if (androidId == null) {
            androidId = UUID.randomUUID().toString();
            
            // 将新生成的id存储到SharedPreferences中
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString("androidId", androidId);
            editor.apply();
        }
        
        // 使用生成的id进行操作
        // ...
    }
}

3. 甘特图

gantt
    title 实现两个app获取的android id不一样
    dateFormat  YYYY-MM-DD
    section 第一个app
    生成随机id            : 2022-01-01, 1d
    存储到SharedPreferences : 2022-01-02, 1d
    section 第二个app
    读取SharedPreferences中存储的id : 2022-01-03, 1d
    生成新的id(如果没有存储的id)  : 2022-01-04, 1d
    使用生成的id进行操作         : 2022-01-05, 1d

以上是实现两个app获取的android id不一样的步骤和代码,通过在第一个app中生成一个随机id并存储到SharedPreferences中,然后在第二个app中读取SharedPreferences中存储的id,如果没有存储的id则生成一个新的id并存储到SharedPreferences中,最后使用生成的id进行操作,可以实现两个app获取的android id不一样的要求。