I am making a todo app with notifications and am using flutter local notifications plugin, How do I generate a unique integer as id for a specific todo so that I can also cancel notification of that specific todo using that unique integer.
            Asked
            
        
        
            Active
            
        
            Viewed 5,906 times
        
    5 Answers
12
            You can use UniqueKey().hashCode() to get a unique int.
For example:
final notificationId = UniqueKey().hashCode()
// or you can use DateTime.now().millisecondsSinceEpoch
...
 
    
    
        Darshan
        
- 4,020
- 2
- 18
- 49
- 
                    I knew Unique key wouldn't work but forgot to try hash code, thanks anyways – Rohith Nambiar Dec 30 '21 at 13:19
2
            
            
        I mention some of methods how you can get unique id :-
use time stamps like this
DateTime.now().millisecondsSinceEpoch;
In year 2020 you can do UniqueKey();
Note
A key that is only equal to itself.
This cannot be created with a const constructor because that implies that all instantiated keys would be the same instance and therefore not be unique.
https://api.flutter.dev/flutter/widgets/UniqueKey-class.html
can use xid package which is lock free and has a Unicity guaranteed for 24 bits unique ids per second and per host/process
import 'package:xid/xid.dart';
void main() {
  var xid = Xid();
  print('generated id: $xid');
}
 
    
    
        Dipak Ramoliya
        
- 547
- 11
- 32
- 
                    1Uuid does not return an `int` as required by the flutter notifications plugin. – Darshan Dec 30 '21 at 11:19
- 
                    
0
            
            
        You can use the following class:
class UuidUtil {
  static int get uuid => DateTime.now().microsecondsSinceEpoch;
}
And access it by:
final id = UuidUtil.uuid;
 
    
    
        M Karimi
        
- 1,991
- 1
- 17
- 34
-2
            
            
        You can used UUID package here
import 'package:uuid/uuid.dart';
 var uuid = Uuid();
 print(uuid.v1());  
 print(uuid.v4()); 
Or refer this also
 
    
    
        Ravindra S. Patil
        
- 11,757
- 3
- 13
- 40
- 
                    1This will not give an `int` as required by the flutter notifications plugin. – Darshan Dec 30 '21 at 11:19
-3
            
            
        You can use this package: http://pub.dartlang.org/packages/uuid
import 'package:uuid/uuid.dart';
// Create uuid object
var uuid = Uuid();
// Generate a v1 (time-based) id
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
// Generate a v4 (random) id
uuid.v4(); // -> '120ec61a-a0f2-4ac4-8393-c866d813b8d1'
 
    
    
        Jaspal Singh
        
- 129
- 3
- 
                    Uuid does not return an `int` as required by the flutter notifications plugin. – Darshan Dec 30 '21 at 11:20
